2013-02-01 50 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_。