我只是在学习 MYSQL/PHP。我在查询时遇到问题,它在 myphpadmin 中工作:
select `email`, count(*) as count
from `table`
where `date` = "open"
group by `email`
order by `email`
如果我自己编写 mysql_query 或使用 myphpadmin 生成的 php,我无法让它工作:
$sql = "select `email`, count(*) as count\
. "from `table`\n"
. "where `date` = \"open\"\n"
. "group by `email`\n"
. "order by `email`\n"
. "";
目的是查询 EMAIL、DATE、EVENT 的三列表——其中 EVENT 可以是“打开”或“退回”,并计算一个人打开电子邮件的次数。
这是文件的其余部分(我意识到我应该使用 msqli,这是我列表中的下一个要弄清楚的......):
<?php
$db_host = '123';
$db_user = '123';
$db_pwd = '123';
$database = '';
$table = 'test';
if (!mysql_connect($db_host, $db_user, $db_pwd))
die("Can't connect to database");
if (!mysql_select_db($database))
die("Can't select database");
sql = "select `email`, count(*) as count\n"
. "from `table`\n"
. "where `date` = \"open\"\n"
. "group by `email`\n"
. "order by `email`\n"
. "";
// sending query
$result = mysql_query($sql);
if (!$result) {
die("Query to show fields from table failed 2");
}
echo "<table border='1'>
<tr>
<th>email</th>
<th>event</th>
<th>date</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['Email'] . "</td>";
echo "<td>" . $row['event'] . "</td>";
echo "<td>" . $row['date'] . "</td>";
}
echo "</table>\n";
mysql_free_result($result);
?>
我刚刚得到“查询以显示表中的字段失败 2” - 查询不起作用
查询中的 '\n' - 由 myphpadmin 生成(当我使用“生成 php 代码”功能时
我有一个到数据库的连接,我只是更改了分配给这些变量的值,所以我不会发布它们
我的文件中的 $sql var 中有“$”,只是没有将它复制到这里。
所以,
当我用一个简单的查询替换这个查询时,它工作正常,但是当我尝试更复杂的查询时,没有运气。我认为这与将 mysql WHERE date
= "open" 转换为正确的(转义?)php....有关
当我发现自己的问题=最大的问题(几个)时,我不确定程序是什么。当我在 myphpadmin 上使用“生成 PHP 代码”功能时,它并没有从表中的列名中保留电子邮件中的大写“E”...