我一直试图解决这个问题几个小时,我已经创建了一个数据库(MySql / PHPMyadmin)并且我试图将用户输入存储起来以便能够回调,但是信息没有使它/保存它到数据库,一切都显示好,除了这部分代码:
$registered = mysqli_affected_rows ($dbc);
echo $registered. "Row is affected";
当跑步给我一个-1行的显示时,我相信这是问题的一个重要部分,因为其他一切似乎都可行。我是一个完全的初学者,所以你们能告诉我如何调试这个的最好方法。
$ dbc = $dbc = mysqli_connect ($hostname, $username, $password, $dbname) OR die("Could not Connect");
要将数据输入到db,我有以下内容:
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$comments = $_POST ['Comments'];
if (!empty ($comments)){
include ('mysqldb.php');
mysqli_query ($dbc,"INSERT INTO 'User-Comments' (Comments) VALUES ('$comments')");
$registered = mysqli_affected_rows ($dbc);
echo $registered. "Row is affected";
}else {
echo "Nothing Submitted";
}
}
答案 0 :(得分:1)
该行:
mysqli_query ($dbc,"INSERT INTO 'User-Comments' (Comments) VALUES ('$comments')");
应该是:
mysqli_query ($dbc,"INSERT INTO `User-Comments` (Comments) VALUES ('$comments')");
注意表名周围的撇号字符(`)的变化。
答案 1 :(得分:0)
摘自函数mysqli_stmt_affected_rows()
的文档: -1表示查询返回了错误。
您应该检查mysqli_query()
返回的值。如果它返回FALSE
,那么您可以使用函数mysqli_error()
获取有关原因(错误消息)的详细信息。