2013-08-01 78 views
1

我可能在我的MySQL查詢中有一個語法錯誤,所以它沒有返回任何結果。使用SimplaCMS可以關閉錯誤,因爲CMS與本地服務器發生衝突。那麼我錯過了什麼?一如既往的代碼:查詢返回null或錯誤

$product=$variant['name']; 
$this->db->query("SELECT id FROM s_products WHERE name='$product' LIMIT 1"); 

這是什麼原因造成的?

+0

嘗試直接在您的phpmyadmin執行查詢,以檢查是否有一些數據....和它的好,如果您連接$的產品,而不是鍵入它的直接 –

+0

嘗試在查詢之後立即打印數據庫錯誤信息。 – ironcito

回答

0

你試過像

$this->db->query("SELECT id FROM `s_products` WHERE name='".$product."' LIMIT 1"); 
0

您需要連接的$product價值,並像其他字符串值:

$this->db->query("SELECT id FROM s_products WHERE name='".$product."' LIMIT 1"); 

又見reference documentation

0

也許你需要在引號中的名稱這樣

"SELECT id FROM s_products WHERE name = '".$product".' LIMIT 1" 
0

調試SQL,然後直接在mysql中執行查詢

2

SimplaCMS管理自己的數據庫$db與自定義類。這個自定義類包含一個名爲->placehold的方法。

在這一行動的一個例子是:

$placeholder = $this->db->placehold("SELECT id FROM s_products WHERE name=? LIMIT 1", $product); 
$this->db->query($placeholder); 
//$this->db->results(); //results are now in this variable 
+0

來自SimplaCMS的更多參考[這裏](https://github.com/pikusov/Simpla/blob/master/api/Comments.php)。 –

+0

' - > db-> query('SELECT id FROM s_products WHERE name =?LIMIT 1',$ product)'我應該也能工作。 –