Ⅰ php+mysql select 變數 from
查詢語句中可以直接放變數;
$abc = '內容';$sql = "select * from table where a = '{$abc}'";// 這個語句等同於: $sql = "select * from table where a = '內容'";// 其次,欄位名 和 欄位值都可以用變數來代替,但是欄位名不能加引號,否則會報 mysql 語法錯誤;
Ⅱ 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是一個字元型,所以就必須加兩個單引號,如果是數字型就不需要單引號。
Ⅲ sql查詢語句有php變數時查詢不到
你沒有搞清楚sql語句的語法
如果你的欄位是數字類型的,比如:int bigint 等欄位類型,那值就不要加引號
你說的直接換成109可以查詢到,估計應該是這樣吧?
$sql="select*fromer_memberwheregeo_longitude<=109andgeo_longitude>=107andgeo_latitude<=35andgeo_latitude>=33";
而你所說的有變數查詢不到,而且$nowLongitude_max是一個數值,那麼,你的sql運行後,應該是會變成這樣:
$sql="select*fromer_memberwheregeo_longitude<='109'andgeo_longitude>=107andgeo_latitude<=35andgeo_latitude>=33";
你自己看看兩條sql語句有什麼不同啊?
Ⅳ php將SQL查詢結果賦值給變數
你是只取這一個值還是要取數組。只取一個的話。
$sql
=
"select
field1
from
pre_common_member_profile
where
uid='$username'";
$query
=
mysql_query($sql);
$bianliang
=
mysql_result($query,0);
echo
$bianliang;
取數組的話。
$sql
=
"select
field1
from
pre_common_member_profile
where
uid='$username'";
$query
=
mysql_query($sql);
while($row
=
mysql_fetch_array($query))
{
echo
$row["field1
"];
}
完畢。這些操作sql的基礎知識,去看看php100的視頻教程吧。給分。
Ⅳ php如果在sql 中使用 資料庫變數
你說的只是php代碼中可能會允許你使用注入語句,但是一般來說,網站防注入都是在鏈接資料庫的類中加入了轉換,也就是說把注入語句的關鍵字都加上了轉義字元。比如你遇到的這種情況,就是被防注入了。
關於你這個問題:
問:輸入框中的SQL語句應該如何寫?
條件:資料庫表、欄位全已知,輸入框長度不限。
我只能跟你說,你可以在輸入框中加入;,/這種符號,讓語句解析的時候出現問題,讓php把sql語句拼合成兩個或兩個以上。這樣你就可以在第二條語句之後加入你想要執行的命令了。
如果這種方法沒有效果,你只能使用溢出的方式來注入!
Ⅵ php中sql語句中如何使用變數
外面的引號要用雙引號,但$biao就得用``來引起來,或者不用,即:
$result=mysql_query("select * from `$biao`");
或者
$result=mysql_query("select * from $biao");
這兩種都可以。
Ⅶ 請教高手,PHP中sql語句如何使用變數。
先講下單引號和雙引號的問題
''單引號 php會把它裡面的內容當成字元串來處理。
""雙引號 php會根據裡面的值來處理。比如裡面有變數 那麼變數的值就會把變數替換。
例子
<?php
$a='HelloWord!';
echo'$a';
echo"$a";
//這兩個輸出的結果是不一樣的
//第一個輸出就是$a
//第二個輸出HelloWord!
//資料庫查詢例子:
$username='admin';
$sql="select*fromuserwhereusername='$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是一個字元型,所以就必須加兩個單引號,如果是數字型就不需要單引號。
Ⅸ PHP調用MYSQL查詢結果到變數
你剛才的截圖的:$db=new
mysqli(.....);
new是初始化mysqli類的意思
你用的是類對吧
你用的是mysqli類,如果你需要把查詢結果讀到數組,你是不可以使用mysqli_fetch_array等函數的(因為類會把函數封裝,過程函數是沒辦法用的)。
你只能使用你這個類裡面的函數,去看看這個類應該有把查詢結果讀到數組的函數的。
----------------------------------------------------------------------------------------------------------------------
如果你用的是過程,那麼應該這么寫:
<?php
mysql_connect('127.0.0.1','root','123456');
//連接資料庫,主機名127.0.0.1,用戶名root,密碼123456
mysql_select_db('phpmyadmin');
//選擇資料庫phpmyadmin
$user=$_POST['uid'];
//把post的uid保存為user變數
$sql="select
*
from
userinfo
where
username='$user'";
//定義sql語句
$query=mysql_query($sql);
//執行,並保存為變數
$row=mysql_fetch_array($query);
//把執行結果保存為變數
echo
$row['sex'];
//輸出一個做測試
?>
如果不行,你可以把mysql換成mysqli
Ⅹ php+mysql 語句中被查詢的欄位可以設置變數么
查詢語句中可以直接放變數;
$abc='內容';
$sql="select*fromtablewherea='{$abc}'";
//這個語句等同於:$sql="select*fromtablewherea='內容'";
//其次,欄位名和欄位值都可以用變數來代替,但是欄位名不能加引號,否則會報mysql語法錯誤;