2016-02-17 2 views
3

С помощью этого PHP-кода я могу вставлять в DB (i измененное имя $) результаты списка людей, которые каждый день едят @my отель. Этот код в порядке для PHP, уже работает.EVENT mysql on PHPmyAdmin

$dataogg=ucwords(strftime("%a %d %B %Y")); 

if ($_GET["reportMen"]){ 
$dba="dbxxxxxx"; 
@mysql_connect("localhost","exexex","xexexe") or die("Demo 1 is not available, please try again later"); 
@mysql_select_db($dbxxxxxx); 

$contGGtot = "SELECT COUNT(GGLIMIT) AS total FROM tab1 WHERE GGLIMIT=1"; 
$resultGG = mysql_query($contGGtot); 
$valuesGG = mysql_fetch_assoc($resultGG); 
$num_rowsGG = $valuesGG['total']; 

$sql = "INSERT INTO `dbxxxxxx`.`report` (`ID` ,`DATA` ,`TOTALE`) VALUES (NULL , '".$dataogg."', '".$num_rowsGG."');"; 
$query = mysql_query($sql) or die (mysql_error()); 

Теперь, мне нужно вставить этот код внутри EVENT на мой mysql в phpmyadmin. В основном я создаю данные, ежедневно выбираю общий счет, вставляю в БД. Думаю, я не могу поместить php $ в EVENT. Пожалуйста, помогите мне упростить этот запрос sql на правильном языке

ответ

1

Нет, вы не можете использовать переменные php в хранимом коде mysql. Хорошая новость: вам не обязательно.

  1. Вам не нужно подключаться к экземпляру mysql из события, поскольку событие выполняется в mysql.
  2. Вместо использования выделения, а затем вставки просто используйте вставку с выбором в одной из переменных и используйте функцию date_format() для форматирования времени.

insert into dbxxxxxx.report (ID ,DATA ,TOTALE) VALUES (NULL ,date_format(now(),'%a %d %M %Y') ,(SELECT COUNT(GGLIMIT) FROM tab1 WHERE GGLIMIT=1))