0

我的register.php不会查询最简单的查询:

<?php
session_start();

/* Connect and Query database "accounts", then close connection */
$connection=mysql_connect("localhost","root","");
if (!$connection)
{
    die('Cannot connect to MySQL. Error: ' . mysql_error());
}

$check_database = mysql_select_db("accounts", $connection);
if (!$check_database)
{
    die('Cannot connect to database. Error: ' . mysql_error());
}

/* Query database to save user's post */
/* If field "repostid=0", then the post is not a repost; if the field "repostid>0", then the post is a repost with the field linking to the id of the post to be reposted */ 
$result = mysql_query("INSERT INTO posts2 (from) VALUES ('h1')");
if (!$result)
{
    die('Cannot query. Error: ' . mysql_error());
}

/* Close Connection */
mysql_close($connection);

/* Redirect to user's page */
header("Location: /website/index.php", 404);
exit();

?>

这是回显的错误消息:

无法查询。错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“from) VALUES ('h1')' 附近使用正确的语法

它是从post.php上的表单调用的:

    <form name="postForm" action="userpost.php" method="post" enctype="multipart/form-data" onsubmit="validatePostForm()">
        <div id="posttext"><p>Enter the text you wish to post, then press "Post":</p></div>
        <div id="posttextarea"><textarea rows="10" cols="80" name="postinfo" onkeydown="characterTyping('postbuttoncharactersleft')"></textarea></div>
        <div id="postbutton"><input type="submit" value="Post"/></div><p id="postbuttoncharactersleft">250</p><p id="postbuttoncharacterslefttext"> characters left.</p>
    </form>

这是数据库表,因此您可以确认它是对该表的查询的正确语法:

在此处输入图像描述

4

2 回答 2

6

您需要像反引号一样转义MySQL 中的保留字from

INSERT INTO posts2 (`from`) VALUES ('h1')
于 2013-11-04T21:32:04.497 回答
0

添加 ; 在 SQL 语句的末尾以及 PHP 行的末尾,像这样

$result = mysql_query("INSERT INTO posts2 (`from`) VALUES ('h1');");

下面是一个 SQL 插入的例子:

插入客户(客户名称、城市、国家/地区)值(“红衣主教”、“斯塔万格”、“挪威”);

于 2013-11-04T21:37:42.160 回答