本文目錄一覽:
- 1、PHP 如何再SQL語句中加入變量?
- 2、sql中php變量傳遞的問題
- 3、php中sql語句帶變量的問題?
- 4、sql 和 php變量
- 5、php sql語句與變量到底怎麼拼接?
- 6、PHP中SQL語句變量問題
PHP 如何再SQL語句中加入變量?
你說的只是php代碼中可能會允許你使用注入語句,但是一般來說,網站防注入都是在鏈接數據庫的類中加入了轉換,也就是說把注入語句的關鍵字都加上了轉義字符。比如你遇到的這種情況,就是被防注入了。
關於你這個問題:
問:輸入框中的SQL語句應該如何寫?
條件:數據庫表、字段全已知,輸入框長度不限。
我只能跟你說,你可以在輸入框中加入;,/這種符號,讓語句解析的時候出現問題,讓php把sql語句拼合成兩個或兩個以上。這樣你就可以在第二條語句之後加入你想要執行的命令了。
如果這種方法沒有效果,你只能使用溢出的方式來注入!
sql中php變量傳遞的問題
PHP語法錯誤
$sql=”INSERT INTO `test1`.`gbook` (`id`, `name`, `sex`, `email`, `info`, `ip`, `time_at`) VALUES (NULL, ‘$_REQUEST[‘name1′]’, ‘1’, ‘viery0712@sina.com’, ‘撒大大撒旦’, ‘127.0.0.1’, NOW());”;
‘$_REQUEST[‘name1′]’ 用 ‘”.$_REQUEST[‘name1’].”‘ 替換
php中sql語句帶變量的問題?
看起來沒有,請你檢查是否有排序的字段topic,也就是說表topic裡面有字段topic嗎,字段名拼寫是否錯誤。另外,order前面建議增加一個空格,也就是這樣想:
$sql=’select * from topic where quesID=”‘.$ques.'” order by topic’;
sql 和 php變量
原則一、注意單雙引號的的配對,不能套多層的,你第一個語句范了這樣的錯,可以考慮取消titile的引號,或者用“.”連接。
原則二、int類型的常量可以不用引號,這樣可以減少語句的複雜度。
原則三、SQL語句最好先賦予一個變量,這樣當有錯的時候更方便調試(可以輸出SQL語句變量)。
原則四、實在麻煩的時候,可以使用其它結束符來寫。
你的兩個語句可以這樣寫:
$sql=”INSERT INTO word VALUES($id,’$_POST[title]’,’$_POST[words]’)”;
mysql_query($sql,$db);//存入數據庫
$query=”SELECT title,words FROM word WHERE id =’$p”;
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語句變量問題
這個很簡單,你先把SQL語句打印出來,然後在mysql工具裡面跑一下這個語句,看能不能執行成功,
你這種報錯,最好是把報錯信息貼出來,這樣才知道具體問題出在哪裡,我估計應該就是你的字段類型的原因,varchar要帶引號,所以你最好把字段這個變量都用引號引起來。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128108.html