mysql查询问题似乎无法找出原因

时间:2013-12-08 17:11:13

标签: php mysql database

我正在尝试将用户ID上传到配方网站上的数据库,我正在制作一个uni项目,

插入代码完美运行,直到我将$_SESSION添加到insert语句。

这是我目前的代码:

$query = "INSERT INTO `recipename` (mealname,ingredients,hours,minutes,recipe,imagepath,userID)VALUES ('$mealname', '$ingredients','$hours','$minutes','$recipe','$image'," . $_SESSION['userid'] . ")";

mysqli_query($db_server, $query) or die("Insert failed. ". mysqli_error($db_server));  

回声:

INSERT INTO recipename(mealname,ingredients,hours,minutes,recipe,imagepath,userID) VALUES ('misbah', 'ss','1','1','s','','')

=============================================== ========================= 这是我不断回来的错误..

插入失败。您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的')'附近使用正确的语法

我仍然是代码的新手,所以我对此感到困惑..

2 个答案:

答案 0 :(得分:0)

是Session ['userid']只是数字?如果它也包含文本,那么您的查询前后缺少引号,就像其他变量一样。

但是,在此之前,请在尝试查询之前尝试回显$_SESSION['user_id']以查看它是否有效。如果是这样,那么就像我之前说过的那样,添加引号。我们发现您的查询无效,因为您的Session标签中没有值,因此需要引号来更正语句的结尾。现在的问题是找出$_SESSION['user_id']值发生在哪里或发生了什么。

$query = "INSERT INTO `recipename` (mealname,ingredients,hours,minutes,recipe,imagepath,userID)VALUES ('$mealname', '$ingredients','$hours','$minutes','$recipe','$image','" . $_SESSION['userid'] . "')";

答案 1 :(得分:0)

你可以尝试这个,用引号括起来的userid值。如果Userid列数据类型为int,那么您需要确保在会话处理程序值中有值,并且如果您的会话userid值不是整数,那么它也可能会给出错误。

     $query = "INSERT INTO `recipename` (mealname,ingredients,hours,minutes,r ecipe,imagepath,userID)VALUES ('$mealname', '$ingredients','$hours','$minutes','$recipe','$image','" . $_SESSION['userid'] . "')";