我在ubuntu 16.10上使用PHP7和最新的mysql。这是我当前拥有的代码
<?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);
?>发布于 2017-03-24 22:46:36
应更改为以下查询
DELETE FROM databasetable WHERE columnA like '%Test7%'=运算符与like运算符存在差异
发布于 2017-03-24 22:46:45
假设您正在尝试删除columnA包含测试"Test7“的所有行,则需要使用like操作符,而不是=操作符:
DELETE FROM databasetable WHERE columnA LIKE '%Test7%'
-- Here --------------------------------^发布于 2017-03-24 22:47:49
如果要使用通配符%,则必须使用LIKE而不是=,因此请将sql更改为:
"DELETE FROM databasetable WHERE columnA LIKE '%Test7%'"此外,mysql函数容易受到sql注入的攻击,您应该使用mysqli或更好的PDO来管理您的数据库。
https://stackoverflow.com/questions/43002457
复制相似问题