将 WHERE 原因添加到 COUNT 查询
Adding WHERE cause to COUNT query
我无法将 where 子句作为 COUNT 查询的一部分。
这可以获取 table:
的总计数
$search = $_POST['search_text'];
SELECT COUNT(*)
FROM
stories')
->fetchColumn();
但是,当我尝试添加 WHERE stories.category = $search 时,当我尝试以下任何一项时出现语法错误:
$total = $dbh->query('
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = "$search"
');
->fetchColumn();
FROM
stories
WHERE stories.category='$search'
FROM
stories
WHERE (stories.category="$search")
您可以在双引号内使用变量,但必须使用串联才能在单引号内使用变量。 (例如.. 'my string '.$myvar.'更多字符串')
SQL 需要格式为 '' 或 "" 的字符串,因此您可以互换使用它们或使用转义引号 ...
你可以在单引号和双引号内像这样转义...
" \" <--- puts a quote in without terminating the string "
' \' <--- same with single quotes '
$total = $dbh->query("
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = \"$search\"
")
->fetchColumn();
或
$total = $dbh->query("
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = '$search'
")
->fetchColumn();
或
$total = $dbh->query("
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = '".$search."'
")
->fetchColumn();
或
$total = $dbh->query('
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = \''.$search.'\'
')
->fetchColumn();
此外,你不能这样做...
');
->fetchColumn();
您正以分号终止,然后尝试调用一个对象方法。
我无法将 where 子句作为 COUNT 查询的一部分。
这可以获取 table:
的总计数 $search = $_POST['search_text'];
SELECT COUNT(*)
FROM
stories')
->fetchColumn();
但是,当我尝试添加 WHERE stories.category = $search 时,当我尝试以下任何一项时出现语法错误:
$total = $dbh->query('
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = "$search"
');
->fetchColumn();
FROM
stories
WHERE stories.category='$search'
FROM
stories
WHERE (stories.category="$search")
您可以在双引号内使用变量,但必须使用串联才能在单引号内使用变量。 (例如.. 'my string '.$myvar.'更多字符串')
SQL 需要格式为 '' 或 "" 的字符串,因此您可以互换使用它们或使用转义引号 ...
你可以在单引号和双引号内像这样转义...
" \" <--- puts a quote in without terminating the string "
' \' <--- same with single quotes '
$total = $dbh->query("
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = \"$search\"
")
->fetchColumn();
或
$total = $dbh->query("
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = '$search'
")
->fetchColumn();
或
$total = $dbh->query("
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = '".$search."'
")
->fetchColumn();
或
$total = $dbh->query('
SELECT
COUNT(*)
FROM
stories
WHERE
stories.category = \''.$search.'\'
')
->fetchColumn();
此外,你不能这样做...
');
->fetchColumn();
您正以分号终止,然后尝试调用一个对象方法。