首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP MYSQL选择查询列中的条带空格

问PHP MYSQL选择查询列中的条带空格
EN

Stack Overflow用户
提问于 2014-02-06 15:44:27
回答 6查看 1.1K关注 0票数 0

我有一个这样的查询

代码语言:javascript
复制
mysql_query("select * from codes where code='222 '");

我想在查询中去掉列中的空格,这样应该是这样的

代码语言:javascript
复制
mysql_query("select * from codes where code=strippedstring('222 ')"

做这件事的最佳方式是什么?

EN

回答 6

Stack Overflow用户

发布于 2014-02-06 15:47:37

试一试

代码语言:javascript
复制
$value=trim('222 ');
mysql_query("select * from codes where code=$value"

注意:-停止使用mysql_*,因为它已被弃用

了解trim()

票数 1
EN

Stack Overflow用户

发布于 2014-02-06 16:12:34

首先,最好将查询的参数(查询的值和变量)与查询本身分开。为此,您需要使用mysqli或PDO。无论如何,这是一个很好的实践,因为旧的'mysql‘函数已被弃用,并将被删除。Here是mysqli的文档,它将是您最简单的升级途径。

首先,将查询的参数放入变量中。

代码语言:javascript
复制
$input = '222 ';

然后使用trim()。

代码语言:javascript
复制
$input = trim($input);

最后,运行查询。

代码语言:javascript
复制
$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)中使用它们。

票数 1
EN

Stack Overflow用户

发布于 2014-02-06 15:48:12

使用trim()函数;

代码语言:javascript
复制
mysql_query("select * from codes where code=trim('222 ')"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21596867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档