php:

php裡取得html中input的傳入到資料庫中

WBOY
發布: 2016-08-04 09:20:16
原創
2210 人瀏覽過

html:
php裡取得html中input的傳入到資料庫中
php:
php裡取得html中input的傳入到資料庫中
php裡紅框部分需要把html裡,name="new_title_info"的值取得到,這裡要怎麼寫啊?我在最底下有寫echo . $sql來看看我插入的語句,之前結果發現後面值是空的,現在解圖這個改法直接提示
php裡取得html中input的傳入到資料庫中
問題還是出在$sql="....這行,要怎麼改阿?

回覆內容:

html:
php裡取得html中input的傳入到資料庫中
php:
php裡取得html中input的傳入到資料庫中
php裡紅框部分需要把html裡,name="new_title_info"的值取得到,這裡要怎麼寫啊?我在最底下有寫echo . $sql來看看我插入的語句,之前結果發現後面值是空的,現在解圖這個改法直接提示
php裡取得html中input的傳入到資料庫中
問題還是出在$sql="....這行,要怎麼改阿?

<code>$_POST('key') 在“ ”双引号里面的关联数组不需要加‘ ’单引号

$sql="insert into table() values('$_POST[key]')";</code>
登入後複製

用句號來做concatenate你的字串。雖然這樣做不安全。更推薦用parameterized query

首先你這種純手寫的mysql_query是很容易被sql注入的。其次,如果懷疑是sql語句的問題,建議先echo一下具體的值是否滿足期望,做一些有效性的判斷,然後再組成sql語句。

簡單點分開寫
$name = $_POST['new_title_info'];
$class = $_POST['new_class_info'];
$sql = "Insert into table (xxx,xxx) values ($name,$class) ";

如果你們工作小組裡要求有代碼審查的話你會被罵死...
用戶輸入變量真心不能直接插入sql啊...
另外..你只要先打印一下你拼裝的sql語句..然後直接拿語句去資料庫執行就知道了...我目測問題出在單引號上

感覺也是單引號的問題.

你把sql語句印出來,看下格式對不對,放到mysql跑一跑不就看到問題了

你這樣使用單引號引用$_POST是不起作用的。在PHP裡單引號是不會執行內部變數的,你改成雙引號就可以了。這麼多回答已有人提出這樣容易被SQL注入是很好的建議,你需要對接受的資料進行處理轉義處理防治SQL注入。

"INSERT INTO table_name (columns) values({$_POST['key']})",

用大括號括起來, 增加可讀性
說句題外話,所有的用戶輸入都要過濾,不要直接插數據庫

寫成$_POST[key] 的形式。

by the way!
不要直接拼sql語句,不安全。要做下預處理之類的措施,防止sql注入攻擊。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板