我正在尝试在我的数据库中使用单个值...当我通过控制台运行它时,它正常工作(因为我用数字和文本替换变量)..但是,我的查询没有返回我为它插入PHP变量时书本ID的值..这是因为book_id未填充...
$query = "UPDATE books "
. "SET readstatus='".$readstatus."' "
. "WHERE book_id=".$book_id;
echo $query
回显的查询说明:
UPDATE books SET readstatus='half' WHERE book_id=0
图书ID存储在URI中,作为bookstatusupdate.php?book_id =
只是想不出这个!
答案 0 :(得分:3)
了解错误会有所帮助。首先,回应一下查询:
$query = "UPDATE books "
. "SET readstatus='".$readstatus."' "
. "WHERE book_id=".$book_id;
echo $query;
我猜测$book_id
未填充,因此查询失败。为了确保安全,您应该做的是使用(int)
转换整数并在mysqli_real_escape_string()
中包装字符串。
$query = "UPDATE books "
."SET readstatus='". mysqli_real_escape_string( $readstatus )."' "
."WHERE book_id=". (int) $book_id;
如果您尝试从网址获取数据,请执行以下操作:
$book_id = (int) $_GET['book_id'];
$query = "UPDATE books "
."SET readstatus='". mysqli_real_escape_string( $readstatus )."' "
."WHERE book_id=". (int) $book_id;
echo $query;