[英]Update MYSQl with PHP cause blank page
我正在嘗試使用php從表單獲取數據來更新mysql表。
當我用這個運行腳本
$query="UPDATE customers SET background='$_GET['background']',font='$_GET['font']',fontcolour='$_GET['fontcolour']',fontsize='$_GET['fontsize']',title='$_GET['title']' WHERE client='$_GET['client']'";
我得到黑屏,但是如果我執行以下腳本
$background=$_GET['background'];
$client=$_GET['client'];
$query="UPDATE customers SET background='$background' WHERE client='$client'";
一切順利
盡管我可以通過這種方式做到這一點,但我試圖理解為什么我不能只將get right正確地放入查詢中,而沒有必要多行代碼。
注意:如果需要,剝離的所有其他代碼都可以發布。
將您的代碼更改為此
$query="UPDATE customers SET background='" . $_GET['background'] . "',font='" . $_GET['font'] . "',fontcolour='" . $_GET['fontcolour'] . "',fontsize='" . $_GET['fontsize'] . "',title='" . $_GET['title'] . "' WHERE client='" . $_GET['client']."'";
此外,您的代碼容易受到SQL注入的攻擊
$query="UPDATE customers SET background='$_GET[background]',font='$_GET[font]',fontcolour='$_GET[fontcolour]',fontsize='$_GET[fontsize]',title='$_GET[title]' WHERE client=$_GET[client]'";
當我們使用雙引號時,我們不必在單引號中寫入數組索引
SQL注入警報!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.