我真的不明白的問題是什麼在這裏,我用盡了一切我能做的診斷問題,並設法隔離,我認爲這個問題正在引起的(見下文隔離):腳本打破MySQL查詢下面,但沒有給出錯誤?
這裏的我全碼:
include("db_conn.php");
$conn = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error()); mysql_select_db($db_name) or die(mysql_error());;
$timestamp = time();
$add_time = time()+(60*60);
$query = "UPDATE links SET timestamp = '$add_time', hit_counter = '0' WHERE timestamp >= '$timestamp' AND overflow = 'NO'";
$result = mysql_query($query) or die(mysql_error());
$query = "SELECT * FROM links WHERE timestamp <= '$timestamp' AND hit_counter <= max_hits AND overflow = 'NO'";
$result = mysql_query($query);
$size = mysql_num_rows($result) or die(mysql_error());
if($size == 0) {
$query = "SELECT * FROM links WHERE overflow = 'YES'";
$result = mysql_query($query) or die(mysql_error());
$overflow = array();
while($row = mysql_fetch_assoc($result)) {
$overflow[] = $row['link'];
}
header("Location: http://www.google.com/?url=$overflow[0]");
}
$links = array();
$hits = array();
while($rows = mysql_fetch_assoc($result)) {
$links[] = $rows['link'];
$hits[] = $rows['hit_counter'];
}
$key = rand(0,$size);
$link = $links[$key];
$hit_counter = $hits[$key]+1;
$query = "UPDATE links SET hit_counter = '$hit_counter' WHERE link = '$link'";
$result = mysql_query($query) or die(mysql_error());*/
echo $link;
echo $hit_counter;
mysql_close($conn);
當腳本運行,echo $link;
這應該是隨機選擇的網址,什麼也不顯示。
爲了診斷問題,我一直試圖使用echo "Hello World!";
,逐漸將其移動到腳本中,直到echo "Hello World!";
被放置在最初的MySQL查詢之前,任何內容都不會顯示,這導致我認爲問題在於在那裏,即使沒有打印mysql_error()'s
。
此外,我試圖echo $size;
在$size = ...
以下的行,仍然沒有顯示任何內容。
隔離:
$query = "UPDATE links SET timestamp = '$add_time', hit_counter = '0' WHERE timestamp >= '$timestamp' AND overflow = 'NO'";
$result = mysql_query($query) or die(mysql_error());
$query = "SELECT * FROM links WHERE timestamp <= '$timestamp' AND hit_counter <= max_hits AND overflow = 'NO'";
$result = mysql_query($query);
$size = mysql_num_rows($result) or die(mysql_error());
沒有人有任何想法,爲什麼這會導致腳本的其餘部分無法運行,但回報沒有錯誤?
任何幫助將不勝感激。
你可以添加一個'死mysql_error()'*每* * mysql_query'調用? –
對不起,沒有意識到我錯過了一個,我現在要做,並相應地更新。 – Avicinnian