缩短查询的功能不起作用
这是我的代码:
function query($query, $variables = NULL) {
$execute = sprintf($query, $variables);
$execute = mysql_query($execute);
return $execute;
}
$insert = query("INSERT INTO accounts (username, email, password, validation_code, registration_timestamp, registration_ip) VALUES ('%s', '%s', '%s', '%s', '%s', '%s')", "$username, $email, $passwordEncrypted, $validationCode, $timestamp, $ip");
如果只有一个变量,它就会起作用。但之后就不会了。有关如何修复和修复的任何建议改进这个功能?谢谢你们!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将其重写为:
顺便说一句,我完全同意@Alex,您需要改为使用 mysqli/PDO 准备好的语句。
PS:不要忘记对每个变量应用
mysql_real_escape_string
。rewrite it to:
Btw, I absolutely agree with @Alex and you need to move to mysqli/PDO prepared statements instead.
PS: don't forget to apply
mysql_real_escape_string
to each variable.当您应该直接将数组传递给函数时,请勿传递字符串。
但是,当存在更好的替代方案(例如 PDO)时,您不应该为
mysql_query()
制作包装器。Don't pass a string when you should be passing it directly an array to your function.
However, you shouldn't me making a wrapper for
mysql_query()
when better alternatives exist, such as PDO.尝试这样的事情:
然后像这样使用:
try something like this:
and then use like so: