簡體   English   中英

無法使mysql_query工作

[英]can't make mysql_query work

無法使該查詢正常工作

if (isset($_GET['id'])){
  $id = $_GET['id'];

  if(isset($_POST['submit'])) {

    $id = (int)$id;
    $caption = mysql_real_escape_string($_POST['caption']);

    mysql_query(" UPDATE  `photo_gallery`.`photograph` SET  `caption` ='{$caption}' WHERE  `photograph`.`id` ='{$id}' ");

但是當我手動將其更改為

mysql_query("UPDATE  `photo_gallery`.`photograph` SET  `caption` =  'bruv' WHERE  `photograph`.`id` =3");

您在{$ id}周圍有單引號。 如果您的ID是數據庫中的提示,則不應引用該ID。

SQL命令中的花括號是否有原因? 試試這個代替:

mysql_query(" UPDATE  `photo_gallery`.`photograph` SET  `caption` ='$caption' WHERE  `photograph`.`id` ='$id' ");

嘗試這個:

mysql_query(" UPDATE  `photo_gallery`.`photograph` SET  `caption` ='".$caption."' WHERE  `photograph`.`id` = '".$id."' ");

也可以使用intval來解析intread。

問題可能出在mysql_real_escape_string。 在新版本中,轉義是通過mysql而不是php來完成的,所以....對我來說,它的工作原理是這樣的。

$caption = $_POST['caption'];

mysql_query(" UPDATE  `photo_gallery`.`photograph` SET  `caption` ='".mysql_real_escape_string($caption)."' WHERE  `photograph`.`id` ='".$id."' ");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM