2011-05-07 120 views
0

我真的不明白我錯過了什麼,然後我認爲很高興問你們。 這是我的代碼示例。MySQL查詢的正確語法幫助

foreach ($disArray as $a) { 

     $query = "SELECT num FROM ".$tableName." WHERE question='" . $a."'"; 
     $result = mysql_query($query, $this->conn) or die('Error: '.mysql_error()); 
     $row = mysql_fetch_array($result); 
     //$row['num'] = $row['num'] + 1; 

     $numb = $row['sayi'] + 1; 

     $query = "UPDATE ".$tablename." SET `num`=" . $numb . "WHERE `question`=" . $a . "\""; 
     mysql_query($query, $this->conn); 
    } 

這裏disArray是一個數組:)而且我通過它的循環,並在其中存儲「senteces」。我想要做的是將這些句子與表格中的句子進行比較,但我想我的這個$query = "SELECT num FROM ".$username." WHERE question='" . $a."'";查詢中有一個錯誤,因爲它給出了這樣的錯誤;

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 'WHERE question='Where are you from?'' at line 1 

而且我得到的,說mysql_fetch_array需要資源,但你給booling等,但我不知道是什麼讓停止該錯誤以及錯誤。你們覺得怎麼樣?會有什麼問題?提前致謝!

+0

首先,基本的調試:什麼是'$ username' /'$ tableName'的價值?創建後,$ query的值是多少? – 2011-05-07 14:29:15

回答

0

而不是$的用戶名,你應該提供數據庫表名檢查

$query = "SELECT num FROM '".$username."' WHERE question='" . $a."'"; 
+0

抱歉,其實tablename與$ username相同。錯誤應該是別的? – makyol 2011-05-07 14:25:50

+0

現在試試「。$ username」。這應該適當地連接 – 2011-05-07 14:27:06

+1

@Jay:表名是用戶名?你有每個用戶的桌子嗎?如果是這樣,那就很糟糕。 – 2011-05-07 14:28:17

0

顯然問題出在你的用戶名變量,檢查值是否設置正確。

0

我建議添加報價,如下所示!

$ query =「UPDATE」。$ tablename。「SET num =」。 $麻木。 「在哪裏question ='」。 $ a。 「'」

0

相反的:

$query = "SELECT num FROM ".$tableName." WHERE question='" . $a."'"; 

使用此:

$query = ' SELECT `num` FROM `'.$tableName.'` WHERE `question` = "'.$a.'" ';