Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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 更新记录,获取成功消息,但数据不';t正在数据库中更新_Php_Html_Mysql_Insert Update - Fatal编程技术网

Php 更新记录,获取成功消息,但数据不';t正在数据库中更新

Php 更新记录,获取成功消息,但数据不';t正在数据库中更新,php,html,mysql,insert-update,Php,Html,Mysql,Insert Update,我正在为我的网站建立一个“编辑帖子”页面,这样用户就可以编辑他们之前发布的内容(duh),我收到了“更新数据成功”的通知,但mysql中的数据没有更新 <?php if(isset($_POST['update'])){ $topic_id = $_POST['topic_id']; $topic_data = $_POST['topic_data']; $invisipost = isset($_POST['invisipost']) ? $_POST['invisipost'] :

我正在为我的网站建立一个“编辑帖子”页面,这样用户就可以编辑他们之前发布的内容(duh),我收到了“更新数据成功”的通知,但mysql中的数据没有更新

<?php

if(isset($_POST['update'])){
$topic_id = $_POST['topic_id'];
$topic_data = $_POST['topic_data'];
$invisipost = isset($_POST['invisipost']) ? $_POST['invisipost'] : 0 ;

$sql = "UPDATE `topics` SET topic_data='$topic_data', invisipost='$invisipost' WHERE topic_id = '$topic_id'" ;

$retval = mysql_query($sql);
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close();
}
else
{
}
?>

您的查询仍然失败,您将看到“已成功更新的数据”,因为它不在if语句中。
试试这个:

if(!$retval){  //query has failed, produce error
    die('Could not update data: ' . mysql_error());
}
else{ //query is successful
    echo "Updated data successfully\n";
    mysql_close();
}

谢谢,我收到了“无法更新数据”,但除此之外没有收到任何错误消息。你的连接字符串是什么样子的我知道数据库信息是正确的,因为它存储在站点每个页面的include文件中,在其他任何地方都有效,但在这里,我希望我正确理解了你的问题。好的,只需确保使用
die('无法连接到数据库:'.mysql_error())进行设置如果由于以下原因失败:
mysql_connect(“主机”、“用户”、“密码”)或die(“无法连接”)
<textarea name="topic_data" cols="50" rows="3" id="topic_data"><? echo $rows['topic_data']; ?></textarea>

<input type="checkbox" name="invisipost" value="<? echo $rows['invisipost']; ?>">
<input type="submit" name="update" value="Update">
if(!$retval){  //query has failed, produce error
    die('Could not update data: ' . mysql_error());
}
else{ //query is successful
    echo "Updated data successfully\n";
    mysql_close();
}