Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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 我想更新sql中的记录,但它会更新所有未获得正确id的数据_Php_Mysql - Fatal编程技术网

Php 我想更新sql中的记录,但它会更新所有未获得正确id的数据

Php 我想更新sql中的记录,但它会更新所有未获得正确id的数据,php,mysql,Php,Mysql,这是一个表格,它显示了我必须更新的数据。当我按下更新按钮时,我得到了正确的数据。数据是使用up.php文件更新的 <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "alurdu_db"; $id = $_GET['id']; mysql_query('SET CHARACTER SET utf8'); // Create connection $conn = new mysqli

这是一个表格,它显示了我必须更新的数据。当我按下更新按钮时,我得到了正确的数据。数据是使用up.php文件更新的

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "alurdu_db";
$id = $_GET['id'];
mysql_query('SET CHARACTER SET utf8'); 
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) 
{    
    die("Connection failed: " . $conn->connect_error);
}
mysqli_set_charset($conn,"utf8");
$sql = "SELECT * FROM news WHERE news_id='$id'";
    $result = $conn->query($sql);
     if ($result->num_rows >0) {

  while($row = $result->fetch_assoc()) {
  ?>
        <form action="up.php" method="post" enctype="multipart/form-data">
        <div class="form-group">
              <input type="text" class="form-control" name="news_title" value="<?=$row["title"]?>">
            <div class="col-md-2 text-center">News Title</div>
         <button type="submit" class="btn btn-default text-align" style="background-color:#3c8dbc;color:white" value="">Update</button></a>
        </form>
<?php
    }

 } else {
    echo "Wrong Page";
}
$conn->close();
?>

看起来您的SQL语句不在闭引号中。应该是这样的:

$sql = "UPDATE news SET title='" . $news_title . "' WHERE news_id='" . $news_id . "'";

您的代码易受攻击。您应该使用或准备带有绑定参数的语句,如中所述。好的,我将对其进行更改,但请告诉我如何获得正确的id。这可能是因为您将id输入了错误的变量<代码>$news\u id=$\u GET['id']
->
$sql=“更新新闻集标题='$news\u title'其中news\u id='$id';
。可能应该是
$sql=“更新新闻集标题='$news\u title'其中news\u id='$news\u id'。当然还有前面提到的SQL注入,这段代码有一个明显的PHP语法错误。它不会更新任何内容。如果我给news\u id=“$news\u id”或者$id它给出此通知的错误:第16行C:\xampp\htdocs\abc\admin\pages\manage news\up.php中的未定义索引:id通知:未定义变量:第28行C:\xampp\htdocs\abc\admin\pages\manage news\up.php中的未定义变量:id与上述错误相同通知:C:\xampp\htdocs\abc\admin\pages\manage news\up.php中的未定义索引:id在线16@MUHAMMADUMARGULZAR编辑您的代码,以便我们可以看到您是如何修复它的。如果将
$id
更改为
$news\u id
,则错误不应读取
未定义的索引:id
。更不用说,示例中的第16行似乎是空的(或者根本不包含“id”)。错误来自连接$news\u id=$\u GET['id']@MUHAMMADUMARGULZAR这意味着
$\u GET['id']
不存在。试着像我在你的问题下的评论中建议的那样,把它扔掉。谢谢它现在可以工作了。我只是把输入文件按类型隐藏在第一个表单中,并回显当前帖子的值,所以在up.php中我得到了正确的id,非常感谢您的时间
$sql = "UPDATE news SET title='" . $news_title . "' WHERE news_id='" . $news_id . "'";