我正试图在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)。
您缺少一个函数调用和字符串周围的引号:
$query = $modx->db->query("INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id')");
$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')");
$modx->db->query("INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id')");