2014-03-04 39 views
-1

我想對sql數據庫進行查詢,但我不知道如何定義數組索引,因爲它是在一個字符串內。如何在PHP中的字符串內定義數組索引?

例如:

$query ="INSERT INTO Users(firstName, lastName, emailAddress, password) VALUE($_POST[firstname], $_POST[lastname], $_POST[email], $_POST[password])"; 

mysqli_query($link, $query); 

我試圖把單引號括起來的索引像我通常會做的,但我的文本編輯器(VIM)是把一個redblock周圍。所以我在猜測我做錯了什麼。如果我在索引周圍放置雙引號,左邊的方括號變爲紅色。如果我沒有像上面的例子那樣引用任何引號,我會得到未定義的索引。

+1

圍繞簡單數組引用的引號可能在語法上是正確的,也可以是字符串表達式。但是,如果您已經使用mysqli,研究會綁定參數。 – mario

回答

1

您可以逃脫你的變量這樣

// http://php.net/manual/en/language.types.string.php 
$query ="INSERT INTO Users(firstName, lastName, emailAddress, password) VALUES ('".$_POST['firstname']."', '".$_POST['lastname']."', '".$_POST['email']."', '".$_POST['password']."')"; 
mysqli_query($link, $query); 

,或者您可以使用mysqli_prepare

// http://php.net/manual/en/mysqli-stmt.bind-param.php 
$query = "INSERT INTO Users (firstName, lastName, emailAddress, password) VALUES (?, ?, ?, ?)"; 
$stmt = mysqli_prepare($link, $query); 
mysqli_stmt_bind_param($stmt, 'ssss'; $_POST['firstname'], $_POST['lastname'], $_POST['email'], $_POST['password']); 
0
$query ="INSERT INTO Users(firstName, lastName, emailAddress, password) VALUE('".$_POST['firstname']."', '".$_POST['lastname']."', '".$_POST['email']."', '".$_POST['password']."')"; 
+0

爲什麼這是錯的? – Yash

+0

什麼是全站? – user3247608

+0

字符串連接。 – Yash

0

您可以查詢像

​​

我希望它可以幫助你

相關問題