2013-02-01 30 views
-1

以及我是新的php.Now我想要做的是插入一些数据在数据库表中。谈论的错误是什么?

下面是示例代码

<?php 
include("DbMethods.php"); 
connectToDb(); 

$name=$_POST['name']; 
$location=$_POST['location']; 
$item=$_POST['item']; 


    $result=mysql_query("SELECT id FROM `customer` WHERE `name`='".$name."' AND `location`='".$location."' AND `item`='".$item."')")or die(mysql_error()); 

?> 

,这是什么错误看起来像

check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 

到底是什么问题?

+2

[**在新的代码,请不要使用'mysql_ *'功能**](http://bit.ly/phpmsql)。他们不再被维护[并被正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 –

+1

请[防止SQL注入](http://stackoverflow.com/q/60174) –

+0

你的预期目的是什么随机无与伦比的'')'? –

回答

3

在查询结束时,您有错误的)。错误消息对此非常明确。

$result=mysql_query(" ... AND `item`='".$item."')")or die(mysql_error()); 
               ^

正如评论所说,请停止使用mysql_功能。为什么?出于某种原因,有人可能会提交'; DROP customeritem

+1

比你这么多:)。 – user1720616

0

...$item."')")or die...应该...$item."'")or die...这意味着它不能找到匹配的括号这就是为什么它是给你的错误

0

不要用mysql _ * ...

删除多余的)

$result=mysql_query("SELECT id FROM `customer` WHERE `name`='".$name."' AND `location`='".$location."' AND `item`='".$item."'")or die(mysql_error()); 
0

改为如下的行:

$result = mysql_query("SELECT id FROM `customer` WHERE `name`='".$name."' AND `location`='".$location."' AND `item`='".$item."') or die(mysql_error()); 

错误实际上是说'''字符附近有语法错误。非常具体和明确的错误信息;)

而且因为它已经提到,不要再用不完mysql_。