我有一个这样的查询
mysql_query("select * from codes where code='222 '");我想在查询中去掉列中的空格,这样应该是这样的
mysql_query("select * from codes where code=strippedstring('222 ')"做这件事的最佳方式是什么?
发布于 2014-02-06 15:47:37
试一试
$value=trim('222 ');
mysql_query("select * from codes where code=$value"注意:-停止使用mysql_*,因为它已被弃用
了解trim()
发布于 2014-02-06 16:12:34
首先,最好将查询的参数(查询的值和变量)与查询本身分开。为此,您需要使用mysqli或PDO。无论如何,这是一个很好的实践,因为旧的'mysql‘函数已被弃用,并将被删除。Here是mysqli的文档,它将是您最简单的升级途径。
首先,将查询的参数放入变量中。
$input = '222 ';然后使用trim()。
$input = trim($input);最后,运行查询。
$stmt = mysqli_stmt_init($database);
mysqli_stmt_prepare($stmt, 'select * from codes where code = ?');
mysqli_stmt_bind_param($stmt, 's', $input);
mysqli_stmt_execute($stmt);
//Note: Make sure to know how many columns you're getting.
$output = array();
mysqli_stmt_bind_result($stmt, $id, $name, $code);
while (mysqli_stmt_fetch($stmt)) {
$output[] = array($id, $name, $code);
}这看起来比您拥有的代码多得多,但每一行都有一个重要的用途,有时您可能希望在它们之间做其他事情。我强烈推荐阅读mysqli文档,虽然它们允许你做一个简单的'mysqli_query()‘调用,几乎与你正在使用的'mysql_query()’完全相同,但这不是一个好主意,因为它让你容易受到SQL注入攻击。
Here很好地概述了为什么应该使用预准备语句,并快速了解了如何在各种语言(包括PHP)中使用它们。
发布于 2014-02-06 15:48:12
使用trim()函数;
mysql_query("select * from codes where code=trim('222 ')"https://stackoverflow.com/questions/21596867
复制相似问题