首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除MySQL行

问删除MySQL行
EN

Stack Overflow用户
提问于 2017-03-24 22:44:57
回答 6查看 82关注 0票数 1

我在ubuntu 16.10上使用PHP7和最新的mysql。这是我当前拥有的代码

代码语言:javascript
复制
<?php
        $dbhost = 'localhost:3036';
        $dbuser = 'root';
        $dbpass = 'password';
        $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    
        $sql = "DELETE FROM databasetable WHERE columnA LIKE '%Test7%'" ;
        mysql_select_db('jdbdev');
        $retval = mysql_query( $sql, $conn );
        
        if(! $retval ) {
           die('Could not delete data: ' . mysql_error());
        }
        
        echo "Deleted data successfully\n";
        
        mysql_close($conn);

?>
EN

回答 6

Stack Overflow用户

发布于 2017-03-24 22:46:36

应更改为以下查询

代码语言:javascript
复制
DELETE FROM databasetable WHERE columnA like '%Test7%'

=运算符与like运算符存在差异

票数 0
EN

Stack Overflow用户

发布于 2017-03-24 22:46:45

假设您正在尝试删除columnA包含测试"Test7“的所有行,则需要使用like操作符,而不是=操作符:

代码语言:javascript
复制
DELETE FROM databasetable WHERE columnA LIKE '%Test7%'
-- Here --------------------------------^
票数 0
EN

Stack Overflow用户

发布于 2017-03-24 22:47:49

如果要使用通配符%,则必须使用LIKE而不是=,因此请将sql更改为:

代码语言:javascript
复制
"DELETE FROM databasetable WHERE columnA LIKE '%Test7%'"

此外,mysql函数容易受到sql注入的攻击,您应该使用mysqli或更好的PDO来管理您的数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43002457

复制
相关文章

相似问题

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