2013-11-04 24 views
0

register.php不会查询的查询简单:PHP和MySQL的语法错误

<?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(); 

?> 

下面是回显的错误消息:

Cannot query. Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from) VALUES ('h1')' at line 1

它从一种叫做在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> 

下面是数据库中的表,所以你可以确认它是查询该表正确的语法:

enter image description here

回答

6

你需要逃避reserved words in MySQLfrom与反引号

INSERT INTO posts2 (`from`) VALUES ('h1') 
+0

我其实打了一个保留字?有什么机会......我觉得很愚蠢。谢谢! –

+0

@shawna以供参考:http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html –

0

添加;在SQL语句的结束以及PHP的线的末端,这样

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

这里是SQL插入的例子:

INSERT INTO客户(客户名称,城市,国家)VALUES( '红衣主教','斯塔万格','挪威');

+0

HAHA,甚至没有注意到他的背部剔除,我只是把它们放在我的,因为从...好赶上juergen d – SecureLive

+0

你也不必把分号放在查询那样,它没有它的工作 –