PHP:在单个查询中更新多个MySQL字段

Chr*_*ris 17 php mysql sql sql-update

我基本上只是尝试更新表中的多个值.最好的方法是什么?这是当前的代码:

$postsPerPage = $_POST['postsPerPage'];
$style = $_POST['style'];

mysql_connect ("localhost", "user", "pass") or die ('Error: ' . mysql_error());
mysql_select_db ("db");

mysql_query("UPDATE settings SET postsPerPage = $postsPerPage WHERE id = '1'") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)

我想要包括的另一个更新是:

mysql_query("UPDATE settings SET style = $style WHERE id = '1'") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)

谢谢!

Fos*_*sco 49

使用逗号分隔添加多个列:

UPDATE settings SET postsPerPage = $postsPerPage, style= $style WHERE id = '1'
Run Code Online (Sandbox Code Playgroud)

但是,你没有消毒你的输入?这意味着任何随机黑客都可能破坏您的数据库.看到这个问题:用PHP清理用户输入的最佳方法是什么?

样式是数字还是字符串?我假设一个字符串,所以需要引用它.


小智 6

逗号分隔值:

UPDATE settings SET postsPerPage = $postsPerPage, style = $style WHERE id = '1'"
Run Code Online (Sandbox Code Playgroud)