0

我正在尝试将四个变量插入到一个 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)。

4

3 回答 3

2

您缺少函数调用和字符串周围的引号:

$query = $modx->db->query("INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id')");    
于 2014-09-08T06:51:55.523 回答
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')");   
于 2014-09-08T06:52:14.963 回答
1
$modx->db->query("INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id')");
于 2014-09-08T07:51:58.143 回答