用PHP更新MYSQl会导致空白页面

时间:2014-07-28 11:25:57

标签: php mysql

我正在尝试使用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'";

它经历了很好的

虽然我可以这样做,但我试图理解为什么我不能把正确的方法放入查询中,而不是拥有比必要更多的代码行。

注意:剥离的所有其他代码都可以发布。

2 个答案:

答案 0 :(得分:1)

将您的代码更改为此

$query="UPDATE customers SET background='" . $_GET['background'] . "',font='" . $_GET['font'] . "',fontcolour='" . $_GET['fontcolour'] . "',fontsize='" . $_GET['fontsize'] . "',title='" . $_GET['title'] . "' WHERE client='" . $_GET['client']."'";

此外,您的代码易受SQL注入攻击

答案 1 :(得分:-1)

$query="UPDATE customers SET background='$_GET[background]',font='$_GET[font]',fontcolour='$_GET[fontcolour]',fontsize='$_GET[fontsize]',title='$_GET[title]' WHERE client=$_GET[client]'";

当我们使用双引号时,我们无法在单引号中编写数组索引

SQL注入警报!