0

我的代码显示 -1 Record Inserted 错误并且没有将字段插入数据库。有什么想法为什么要这样做?

  <?php
include("dbconnect.php");
$con=new dbconnect();
$con->connect();
error_reporting(E_ALL);

if($_POST) {

    $users_name = $_POST['name'];
    $users_email = $_POST['email'];
    $users_website = $_POST['website'];
    $users_comment = $_POST['content'];

    $users_name = htmlspecialchars($users_name);
    $users_email = htmlspecialchars($users_email);
    $users_website = htmlspecialchars($users_website);
    $users_comment = htmlspecialchars($users_comment);


$postid = $_GET['id'];

$sSql = "INSERT INTO comments
 ( post_id, name, email, website,content)
 VALUES ($postid, '$users_name',
        '$users_email', '$users_website', '$users_comment' )";

    mysql_query($sSql);
    $update=mysql_affected_rows();
    echo "<h2>$update Record Inserted</h2><br />";
    echo '<h2> Your Comment is submitted</h2><br />';
}
?>

由于某种原因,评论表没有得到更新。我是使用 mySQL 和 PHP 编程的新手。任何建议都会对我有很大帮助。谢谢。

4

2 回答 2

0

-1 表示查询返回错误。

将此 sql 查询放入您的 sql 浏览器的 sql 'querier' 中,看看错误是什么:

INSERT INTO 
comments
(post_id,
name,
email,
website,
content)
VALUES 
(2, 
'name',
'email@', 
'http://', 
'comment')
于 2012-07-09T01:10:20.657 回答
0
  1. 首先在您的 php SQL 语句中插入虚拟值并注释 mysql_query 语句。

    $sSql = "INSERT INTO comments (post_id,name,email,website,content) VALUES (100, 'anoop.pete','anoop.pete@gmail.com', 'www.anooppete.com', 'Nice Website' )";
    //mysql_query($sSql);
    //$update=mysql_affected_rows();
    
  2. 打印 SQL 语句...

    print($sSql);
    
  3. 从浏览器复制 SQL 语句,在 MySql 中执行 $sSql

  4. 如果该行被插入,在 MySQL 中,取消注释并再次运行相同的页面。

    mysql_query($sSql);
    $update=mysql_affected_rows();
    

如果它运行,请尝试删除 htmlspecialchars()

    $users_name = $_POST['name'];
    $users_email = $_POST['email'];
    $users_website = $_POST['website'];
    $users_comment = $_POST['content'];

我猜你的 htmlspecialchars() 正在返回一些无效字符......

于 2012-07-09T04:05:42.960 回答