SQL计数返回0

MR_*_*DEV 1 php mysql sql

我一直在尝试计算表中存在的路径数。

在此处输入图片说明

我正在尝试以下查询

$db_con->query("SELECT COUNT(path) FROM mytable WHERE username='Rbiaali' AND path='C:\MAMP\htdocs\files\Rbiaali\9-5-2019 01 55 AM.zip'")->fetchColumn();
Run Code Online (Sandbox Code Playgroud)

即使我使用下面的它也返回相同的值: 0

path LIKE 'C:\MAMP\htdocs\files\Rbiaali\9-5-2019 01 55 AM.zip%'
Run Code Online (Sandbox Code Playgroud)

如表中所示,我们可以看到路径中有6个条目。

Bar*_*mar 5

您需要转义反斜杠,因为反斜杠是MySQL中的转义字符。\f是换页字符。

$db_con->query("SELECT COUNT(path) FROM mytable WHERE username='Rbiaali' AND path='C:\\MAMP\\htdocs\\files\\Rbiaali\\9-5-2019 01 55 AM.zip'")->fetchColumn();
Run Code Online (Sandbox Code Playgroud)

如果要从变量获取路径,请使用准备好的语句:

$stmt = $db_con->prepare("SELECT COUNT(path) FROM mytable WHERE username=:user AND path=:path");
$stmt->execute([":user" => $u, ":path" => $p]);
$stmt->fetchColumn();
Run Code Online (Sandbox Code Playgroud)