Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新查询PHP-MySQL_Php_Mysql_Database_Phpmyadmin_Blogs - Fatal编程技术网

更新查询PHP-MySQL

更新查询PHP-MySQL,php,mysql,database,phpmyadmin,blogs,Php,Mysql,Database,Phpmyadmin,Blogs,有人能帮我理解为什么这个更新查询没有更新我数据库中的字段吗?我的php页面中有以下内容,用于从数据库检索当前值: <?php $query = mysql_query ("SELECT * FROM blogEntry WHERE username = 'bobjones' ORDER BY id DESC"); while ($row = mysql_fetch_array ($query)) { $id = $row['id']; $user

有人能帮我理解为什么这个更新查询没有更新我数据库中的字段吗?我的php页面中有以下内容,用于从数据库检索当前值:

<?php

  $query = mysql_query ("SELECT * FROM blogEntry WHERE username = 'bobjones' ORDER BY id DESC");

  while ($row = mysql_fetch_array ($query)) 
  {
      $id = $row['id']; 
      $username = $row['username'];
      $title = $row['title'];
      $date = $row['date'];
      $category = $row['category'];
      $content = $row['content'];


    ?>

查询中的任何VARCHAR内容都必须有单引号。因此,您的更新查询应该是:

mysql_query("UPDATE blogEntry SET content = '$udcontent', title = '$udtitle' WHERE id = $id");

另外,直接用帖子中的内容更新数据库也是不好的。您应该使用mysql\u real\u escape\u string函数清理传入数据。

在不知道实际错误是什么的情况下,我猜它缺少引号。请尝试以下操作:

mysql_query("UPDATE blogEntry SET content = '$udcontent', title = '$udtitle' WHERE id = '$id'")
首先,您应该定义“不起作用”。
其次,我假设您的表字段“content”是varchar/text,因此需要将其括在引号中<代码>内容=“{$content}”


最后但并非最不重要的一点:在查询后直接使用
echo mysql\u error()
进行调试。

需要添加引号,以便使用点运算符:

mysql_query("UPDATE blogEntry SET content = '".$udcontent."', title = '".$udtitle."' WHERE id = '".$id."'");

你们必须先写单引号,然后写双引号,然后在字段名前面加点,后面加点

mysql_query("UPDATE blogEntry SET content ='".$udcontent."', title = '".$udtitle."' WHERE id = '".$id."' ");
这里我更新了两个变量,并给出了日期和时间 $id=“1”
$title=“phpmyadmin”

函数的作用是:更新当前日期和时间

note: For update query we have define the particular id otherwise it update whole table defaulty

更新表的行或列

$update = "UPDATE daily_patients SET queue_status = 'pending' WHERE doctor_id = $room_no and serial_number= $serial_num";

if ($con->query($update) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $con->error;
}

在sql查询中尝试这样做,它会很好地工作

$sql="UPDATE create_test set url= '$_POST[url]' WHERE test_name='$test_name';";
如果必须更新多个列, 像这样使用,

$sql="UPDATE create_test set `url`= '$_POST[url]',`platform`='$_POST[platform]' WHERE test_name='$test_name';";

使用
mysql\u error()
查找数据库中的任何错误。。这样你就可以解决你的问题。选择似乎不是一个方便的方法。如果您不在时发生错误怎么办?我建议使用trigger\u error()。它不仅将遵循站点范围的错误报告规则(日志或显示),而且还提供文件名和行号,在我相信的任何字符串周围出现日志错误的情况下,这些信息都是无价的。比如说,查询中根本没有varchar或字段
SELECT'helloworld'但仍需要引号。这已过时。是的,亲爱的现代用户,请不要使用此已弃用且不安全的查询。您应该将
mysqli
pdo
与准备好的语句和占位符一起使用,以确保查询的安全。永远不要盲目地将用户提交的数据直接写入您的查询中。是的,这肯定不是在php中执行mysql查询的正确方法。它回答了原来的问题,但已经过时了。
$update = "UPDATE daily_patients SET queue_status = 'pending' WHERE doctor_id = $room_no and serial_number= $serial_num";

if ($con->query($update) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $con->error;
}
<?php
require 'db_config.php';


  $id  = $_POST["id"];
  $post = $_POST;

  $sql = "UPDATE items SET title = '".$post['title']."'

    ,description = '".$post['description']."' 

    WHERE id = '".$id."'";

  $result = $mysqli->query($sql);


  $sql = "SELECT * FROM items WHERE id = '".$id."'"; 

  $result = $mysqli->query($sql);

  $data = $result->fetch_assoc();


echo json_encode($data);
?>
$sql="UPDATE create_test set url= '$_POST[url]' WHERE test_name='$test_name';";
$sql="UPDATE create_test set `url`= '$_POST[url]',`platform`='$_POST[platform]' WHERE test_name='$test_name';";