我正在尝试将四个变量插入到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)。
答案 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')");