2016-06-21 64 views
0

IM添加數據databese PHP和獲得「成功的」,但是當我看着數據庫這是我剛纔說犯規的數據顯示。在這裏我的代碼數據,該數據在數據庫中成功地加入,那並不顯示在數據庫

<?php 
require ('db.php'); 

@$name = $_POST['name']; 
@$surname = $_POST['surname']; 
@$number = $_POST['number']; 
@$mail = $_POST['mail']; 
@$note = $_POST['note']; 

$sql = "INSERT INTO customersinfo (name,surname,number,email,notes) VALUES ($name,$surname,$number,$mail,$note)"; 

$con->query($sql); 
if ($sql) 
{ 
echo "Succesful"; 
} 

else 
{ 
echo "error"; 
} 
?> 

這也是我的db.php代碼;

<?php 
$con = mysqli_connect("localhost","root","","customers"); 

if (mysqli_connect_errno()) { 
printf(" Connection error :( %s\n", mysqli_connect_error()); 
exit(); 
} 
?> 

我還有一個問題。當我嘗試使用mysqli_query()函數在數據庫中添加數據時,它不起作用。例如;

mysqli_query($con, "INSERT INTO customersinfo (name,surname,number,email,notes) VALUES($name,$surname,$number,$email,$note)"); 
因爲這個

,我不得不使用此代碼,它現在的工作,但我不知道爲什麼mysqli_query()函數是行不通的

$sql = "INSERT INTO customersinfo (name,surname,number,email,notes) VALUES ($name,$surname,$number,$mail,$note)"; 

$con->query($sql); 

,如果你幫我,這將是巨大的,謝謝。

+1

變化'VALUES($名稱,$姓,$號碼,$電子郵件,$注)'來'VALUES( '$名', '$姓', '$號', '$電子郵件',「$記')' –

+0

快速提示,請不要使用'@'來壓縮錯誤,而是解決它們,在你的情況下,只需要簡單的'isset'(或'empty')檢查變量 – Epodax

+0

缺少值中的引號!更好地使用綁定和準備語句 – Saty

回答

0

把單引號(')的值這樣

$sql = "INSERT INTO customersinfo (name,surname,number,email,notes) VALUES ('$name','$surname','$number','$mail','$note')"; 
+0

謝謝,但它並沒有改變任何東西 – iknk

0

您正在檢查剛剛$sql變量,它不提供SQL resul,它只是一個查詢。

嘗試

$result = $con->query($sql); 
if($result) 
{ 
    echo "Succesful"; 
}else{ 
    echo "error"; 
} 
+0

謝謝你,我的固定 – iknk

0

更合適的方式:

$sql = "INSERT INTO `customersinfo` 
(`name`,`surname`,`number`,`email`,`notes`) VALUES 
('{$name}','{$surname}','{$number}','{$mail}','{$note}')"; 

$result=$con->query($sql); 

if (!$result) { 
    // Query has failed 
} 
+0

我試過,但遺憾的是它沒有工作。還我試圖像 $ SQL =「INSERT INTO customersinfo ('name','surname','number','email','notes')VALUES ( '{$名}',「{$姓} 」, '{$ number}臺', '{$郵件}', '{$注}')「; 我的意思是沒有''的表名,但它也沒有工作。 – iknk

0

您在檢查$ sql中,如果條件這是不對的,因爲$ sql中始終爲真好讓你得到的結果成功,但實際值沒有被插入到數據庫中。

採取的結果在一些變量和用於在如果條件。之後你會得到你的代碼中的實際錯誤。

+1

我不知道,謝謝 – iknk