phpsql語句變數
不行的,變數是要加大括弧的,或者使用字元串連接符連接2個字元串。
1如果你的$meal是一個變數、mealnum是字元型的數據的列,就這樣寫:
$result = mysql_query("SELECT * FROM {$res} WHERE mealnum=『{$meal}』");
2如果你的$meal是一個變數、mealnum是數字型的數據的列,就這樣寫:
$result = mysql_query("SELECT * FROM {$res} WHERE mealnum={$meal}");注意大括弧外沒單引號。
3如果你的$meal就職一個字元串、mealnum是字元型的數據的列,就這樣寫:
$result = mysql_query("SELECT * FROM {$res} WHERE mealnum=『\$meal』");
4如果你的$meal就職一個字元串、mealnum是數字型的數據的列,那麼就會錯誤了;
另外:
你已經說了$meal是一個字元型,所以就必須加兩個單引號,如果是數字型就不需要單引號。
❷ 請教高手,PHP中sql語句如何使用變數。
先講下單引號和雙引號的問題
''單引號 php會把它裡面的內容當成字元串來處理。
""雙引號 php會根據裡面的值來處理。比如裡面有變數 那麼變數的值就會把變數替換。
例子
<?php
$a='HelloWord!';
echo'$a';
echo"$a";
//這兩個輸出的結果是不一樣的
//第一個輸出就是$a
//第二個輸出HelloWord!
//資料庫查詢例子:
$username='admin';
$sql="select*fromuserwhereusername='$username'";
{}大括弧也可以但是也得必須是雙引號。但是雙引號直接就當變數解析了。所以加不加{}沒啥用
❸ PHP 如何再SQL語句中加入變數
你說的只是php代碼中可能會允許你使用注入語句,但是一般來說,網站防注入都是在鏈接資料庫的類中加入了轉換,也就是說把注入語句的關鍵字都加上了轉義字元。比如你遇到的這種情況,就是被防注入了。
關於你這個問題:
問:輸入框中的SQL語句應該如何寫?
條件:資料庫表、欄位全已知,輸入框長度不限。
我只能跟你說,你可以在輸入框中加入;,/這種符號,讓語句解析的時候出現問題,讓php把sql語句拼合成兩個或兩個以上。這樣你就可以在第二條語句之後加入你想要執行的命令了。
如果這種方法沒有效果,你只能使用溢出的方式來注入!
❹ php sql語句與變數到底怎麼拼接
要考慮到字元串本身是要用引號括住的,所以要這樣:
$sql = "insert into users (slug,email,`password`,nickname) values ('".$slug."','".$email."','".$password."','".$nickname."')";
或者
$sql = "insert into users (slug,email,`password`,nickname) values ('$slug','$email','$password','$nickname')";
❺ php中sql語句中如何使用變數
外面的引號要用雙引號,但$biao就得用``來引起來,或者不用,即:
$result=mysql_query("select * from `$biao`");
或者
$result=mysql_query("select * from $biao");
這兩種都可以。
❻ php中的sql語句
1、很多時候我們在開發時需要將字元串與變數連接起來顯示,在PHP中,字元串之間使用 「點」 來連接,也就是英文中的半形句號" . " , " . " 是字元串連接符,可以把兩個或兩個以上的字元串鏈接成一個字元串。例如:
<?php
$name="網路知道:";
$url=".";
echo$name.$url.".com";
?>
輸出結果為:
網路知道:..com
2、php在進行資料庫查詢時,如果對象是字元串,則需要使用引號將字元串區分開,這就是上面你的第一個問題,例如,你通過POST接受到的$username值是"zhanagsan",那麼:
mysqli_query($conn,"SELECT*FROMuserWhereusername='".$username."'");
php在進行解析時就是
mysqli_query($conn,"SELECT*FROMuserWhereusername='zhangsan'");
如果你覺得這樣會讓你有點看不過來,還可以這樣寫:
mysqli_query($conn,"SELECT*FROMuserWhereusername='{$username}'");
這里的{}也是起到連接的作用。
3、應用字元串連接符號有時候沒有辦法實現大量字元串的連接,PHP允許程序員在雙引號中直接包含字元串變數,當echo語句後面使用的是 雙引號 (" ")時,可以使用下面的格式來達到相同的效果(這是你的第二個問題)。例如:
<?php
$name="網路知道:";
$url=".";
echo"$name$url.com";//雙引號里的變數同一般的字元串自動進行區分
?>
但是單引號(' ')就不可以了,這樣如果不加連接符,解析後還是字元串,例如:
<?php
$name="網路知道:";
$url=".";
echo'$name$url.com';//單引號里的變數不會同一般的字元串自動進行區分
?>
最終的輸出結果就變成了
$name$url.com//最終只是輸出變數名,是字元串
❼ php 怎樣給 sql 語句變數賦值!
第一種:數組
$allbrand=array();
while($testingrow=mysqli_fetch_array($testingquery)){
$allbrand[]=$testingrow[2];
}
第二種:字元串
$allbrand='';
while($testingrow=mysqli_fetch_array($testingquery)){
$allbrand.=$testingrow[2]."";
}
請採納,謝謝
❽ php語言中sql語句裡面變數為什麼需要一個單引號和一個雙引號啊
loginname
指的就是一個變數名<與資料庫里的欄位匹配>,
而'"+login1.username+"'
就是你輸入的值,
假如只有單引號,系統會認為變數就是login1.username,
而這個值是固定的,然而我們需要的是一個變數,
所以就得再加一個雙引號,
至於
『+』
就是連接字元串的意思、、、
❾ php中sql語句帶變數的問題
不行的,變數是要加大括弧的,或者使用字元串連接符連接2個字元串。
1如果你的$meal是一個變數、mealnum是字元型的數據的列,就這樣寫:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum=『{$meal}』");
2如果你的$meal是一個變數、mealnum是數字型的數據的列,就這樣寫:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum={$meal}");注意大括弧外沒單引號。
3如果你的$meal就職一個字元串、mealnum是字元型的數據的列,就這樣寫:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum=『\$meal』");
4如果你的$meal就職一個字元串、mealnum是數字型的數據的列,那麼就會錯誤了;
另外:
你已經說了$meal是一個字元型,所以就必須加兩個單引號,如果是數字型就不需要單引號。