我剛剛學習MYSQL/PHP。我有一個查詢的麻煩,它的工作在myphpadmin:MYSQL - 編碼一個PHP查詢
select `email`, count(*) as count
from `table`
where `date` = "open"
group by `email`
order by `email`
我不能得到它,如果我不是寫的mysql_query自己的工作或使用PHP myphpadmin產生:
$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
=「開」到適當的(逃?)PHP做....
我不知道這個程序是什麼,當我發現八九不離十我自己的問題最大的問題(幾個)。當我用myphpadmin它「生成PHP代碼」功能並沒有保持資本「E」中的電子郵件從表中的列的名稱...
爲什麼在您的查詢 '\ n'? – GBD
你是什麼意思,你不能得到它的工作?有錯誤嗎?返回錯誤的值?一點都沒有? – andrewsi
請停止使用古代mysql_ *函數編寫新代碼。他們不再保持和社區已經開始了[棄用過程(http://news.php.net/php.internals/53799)。相反,您應該瞭解準備好的語句並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你關心學習,[這裏是一個很好的PDO相關教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 – DCoder