2013-11-28 56 views
2

此php用於向銷售信息銷售信息數據庫發送五個屬性{id,description,email,price,shape}。SQL查詢是空的?

<?php 

define('DB_NAME', 'salesinformation'); 
define('DB_USER', 'root'); 
define('DB_PASSWORD', ''); 
define('DB_HOST', 'localhost'); 

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 

if(!$link) { 
    die('Cannot connect: ' . mysql_error()); 
} 

$db_selected = mysql_select_db(DB_NAME, $link); 

if(!$db_selected){ 
    die('Cannot use ' . DB_NAME . ': ' . mysql_error()); 
} 

$value = $_POST['description']; 
$value2 = $_POST['email']; 
$value3 = $_POST['price']; 
$value4 = $_POST['shape']; 

$sql = mysql_query("INSERT INTO sales (id, description, email, price, shape) VALUES ('', '$value', '$value2', '$value3', '$value4')"); 

if (!mysql_query($sql)){ 
    die('Error: ' . mysql_error()); 
} 

mysql_close(); 
?> 

如果我echo $value它打印出來,我已經填補我的HTML表單正確的信息(以便提取從HTML值工作至少應部分)。我運行xampp並用PhpMyAdmin創建了數據庫,並且當這個PHP運行時我得到的全部是錯誤:查詢是空的並且根本沒有任何數據被添加到數據庫中。

是什麼讓mysql_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 '1' at line 1 
+0

所以你調用'mysql_query',然後你再次調用它傳遞的東西,絕對不是一個查詢到它?你檢查過「http:// php.net/mysql_query」嗎? – zerkms

回答

2

Question: What makes the mysql_query empty?

這是你的,誰沒有真正的查詢電話mysql_query

$sql = mysql_query("INSERT INTO sales (id, description, email, price, shape) VALUES ('', '$value', '$value2', '$value3', '$value4')"); 

if (!mysql_query($sql)){ // <---- look here 
    die('Error: ' . mysql_error()); 
} 

我們在代碼中看到的是你傳遞$sqlmysql_query這不是有效的查詢,你可以檢查它與var_dump($sql);

+0

是的,我把它改爲: ' $ sql =(「INSERT INTO sales(id,description,email,price,shape)VALUES('','$ value','$ value2','$ value3' ,'$ value4')「); (!mysql_query($ sql)){ die('Error:'。mysql_error()); } ' – Isbister

0

從查詢中刪除ID列。假設你做了一個INDEX(和AUTO_INCREMENT)大概:)。你可以將它從字段列表中刪除,或者將其替換爲NULL。

+0

是的,我用PhpMyAdmin編輯器做了INDEX和AUTO_INCREMENT。那麼我刪除了id和''值。 但我仍然收到新的錯誤消息:*錯誤:您的SQL語法中有錯誤;檢查與您的MySQL服務器版本相對應的手冊,在第1行使用接近'1'的正確語法* – Isbister

+0

首先,這不是問題,其次 - 允許將值插入索引列(以及auto_incremented儘管這是一種不好的做法)。 – Kleskowy