PHP字符串变量没有进入mysql数据库

时间:2014-02-13 19:37:46

标签: php mysql variables input

在这行代码中遇到一些问题:

$usersql= mysql_query("INSERT INTO tp_request (user_id, week_no, floor, code) VALUES ($insertuser, $week, $floor, $code)");

变量值如下:

$insertuser = 1;
$week = 4;
$floor = "First";
$code = "ABC123";

同时使用其他两个变量时,$ insertuser和$ week都会毫无问题地进入数据库。但是,当使用$ floor和$ code时,不会将任何内容输入数据库。它们分别正确地回应为“第一”和“ABC123”。

数据库中的字段已作为Text和VarChar进行了尝试,并且它不能与这两个中的任何一个一起使用。

关于如何获得$ floor和$ code在这里工作的任何想法?

4 个答案:

答案 0 :(得分:1)

尝试此操作,添加'以包围变量$floor$code,因为它包含字符串,

$usersql= mysql_query("INSERT INTO tp_request (user_id, week_no, floor, code) 
 VALUES ($insertuser, $week, '$floor', '$code')");

注意:使用mysqli_ *函数或PDO而不是使用mysql_ *函数(不建议使用)

答案 1 :(得分:1)

重写

  $usersql= mysql_query("INSERT INTO `tp_request` (`user_id`, `week_no`, `floor`, `code`) VALUES ('$insertuser', '$week', '$floor', $code)");

旁注:您不得不停止使用mysql_ *函数,因为它们已被弃用。切换到PreparedStatements。

答案 2 :(得分:0)

 $usersql= mysql_query("INSERT INTO tp_request (user_id, week_no, floor, code) VALUES ($insertuser, $week, '$floor', '$code')");

答案 3 :(得分:0)

在字符串变量周围为sql子句添加单引号。