在mysql语句中插入变量的错误

时间:2014-09-08 06:47:18

标签: php mysql modx-evolution

我正在尝试将四个变量插入到mysql表中。以下mysql INSERT语句产生T_STRING错误。如果有人能告诉我的错误在语法中的哪个位置,我将不胜感激。

function add_student($name, $phone, $email, $id) {
global $modx;
$session_id = intval($id, 10);
$query = $modx->db->INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id');    
return $query;
}

前3个变量是varchar,$ session_id是int(4)。

3 个答案:

答案 0 :(得分:2)

你错过了一个函数调用和字符串周围的引号:

$query = $modx->db->query("INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id')");    

答案 1 :(得分:1)

$query = $modx->db->INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id');    

这一行是问题所在,你需要用引号括起mysql查询,我不知道你的$modx->db->是什么,但它可能是这样的:

$modx->db->query("INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id')");   

答案 2 :(得分:1)

$modx->db->query("INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id')");