0
<?php
include("dbinit.php");
$text="helow";
    $eadd = $_SESSION['account'];
    $result = mysqli_query($link,"SELECT * FROM account where Eadd='". $eadd ."'");
        while($row = mysqli_fetch_array($result))
            {
                $name = $row['Name'];
            }
                $ctext = $_POST['ctext'];
                $sql = "INSERT INTO chat (By, Content, Reported) VALUES ('$name','$ctext','No')";
                mysqli_query($link,$sql);
                mysqli_close($link);
                $text=$name . $ctext;
echo $text;
?>

这是我的代码。在我的另一个页面中,这有效但是..当我更改“插入”中的值时,为什么我不能将它存储到数据库中?

<?php
session_start();
        $link = mysqli_connect("localhost", "xxx", "xxx", "xxx");

        /* check connection */
        if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
        }
        mysqli_select_db($link, "xxx");
        header('Content-type: text/html; charset=utf-8');
?>

这是我的 dbinit 文件

4

3 回答 3

1
$sql = "INSERT INTO `chat` (`By`, `Content`, `Reported`) VALUES ('".$name."','".$ctext."','No')";

为了防止 mysql 注入,请阅读此内容。

另外,你改变了什么样的价值观不起作用?

于 2013-07-21T10:39:28.777 回答
0

BY是保留关键字,您应该在其周围使用反引号

     $sql = "INSERT INTO chat (`By`, Content, Repo.........
于 2013-07-21T10:12:58.560 回答
-1

用双引号将 PHP 变量包含在 $sql 中,不要忘记点。

 $sql = "INSERT INTO chat (By, Content, Reported) VALUES ('".$name."','".$ctext."','No')";
于 2013-07-21T09:54:20.773 回答