我從來沒有使用過array_combine,而且在查詢中出現「布爾代替資源」的錯誤。如果我將查詢更改爲讀取... WHERE cal_id =「。$ quidx。」;布爾錯誤消失了,但由於我無法確定的原因,後來在腳本中出現意外的T_STRING錯誤,查詢的結果也沒有任何結果。array_combine的用法或查詢錯誤?
主要問題:這是array_combine的正確用法嗎?如果是這樣,那麼在該腳本的其餘部分中缺少的內容在查詢後不會導致任何信息? $ quid1是一個ID數組,$ tm是一個Unix時間戳數組。兩個數組檢查出一致的行數。在array_combine之後,$ cls1返回前兩個數組的有效數組,但它們在查詢中似乎不起作用。
感謝您的幫助。我還在學習。
我已編輯腳本以包含新的查詢語句。現在的問題是在foreach語句中,錯誤讀取無效參數。
$cls1 = array_combine($quid1, $tm);
$quidx = array_values($quid1);
$quclx = array_values($tm);
//// note to self.. start final query for email write with new id data, likely redundant.
$qumail = "SELECT cal_id, cal_name, cal_time, cal_description FROM webcal_entry WHERE cal_id in (" . implode (',' , $quidx) . ")";
$wemail = mysql_query($qumail);
while ($row = mysql_fetch_array($wemail, MYSQL_NUM)) {
$quname2 = $row[1];
$qtime = $row[2]
$qudesc2 = $row[3];
下面是適用的完整腳本部分。我仍在啄食它,所以它還沒有完全修復:
$cls1 = array_combine($quid1, $tm);
$quidx = array_values($quid1);
$quclx = array_values($tm);
//// note to self.. start final query for email write with new id data, likely redundant.
$qumail = "SELECT cal_id, cal_name, cal_time, cal_description FROM webcal_entry WHERE cal_id in (" . implode (',' , $quidx) . ")";
$wemail = mysql_query($qumail);
while ($row = mysql_fetch_array($wemail, MYSQL_NUM)) {
$quname2 = $row[1];
$qtime = $row[2]
$qudesc2 = $row[3];
}
foreach ($qtime as $key=>$btUx) {
if (strlen($btUx) < 6){
$btUx = '0' . $btUx;
date_default_timezone_set('UTC');
$unixEpoch = strtotime($btUx);
date_default_timezone_set('America/Denver');
$formtime = date("H:i", $unixEpoch);
}
}
foreach ($tm as $key=>$tf) {
$idnotime = 0;
$idnow = (strlen($tf) > 2);
switch($tf) {
case $idnow:
$repmlnow = sprintf("Event: %s \nTime: %s \nDesc: %s \n\n", $row[1], $formtime, $row[3]);
break;
case $idnotime:
$repmlnotm = sprintf("Event: %s \nDesc: %s \n\n", $row[1], $row[3]);
break;
}
}
/////===================== send mail...
這是我最後一次編輯,除非有其他評論。我已經改變了原來的腳本如下,一切似乎這種情況下,由於下面的貢獻者在正常工作......
$cls1 = array_combine($quid1, $tm);
$quidx = array_values($quid1);
$quclx = array_values($tm);
$qumail = "SELECT cal_id, cal_name, cal_time, cal_description FROM webcal_entry WHERE cal_id in (" . implode (',' , $quidx) . ")";
$wemail = mysql_query($qumail);
while ($row = mysql_fetch_array($wemail, MYSQL_NUM)) {
$quname2 = $row[1];
$qtime = $row[2];
$qudesc2 = $row[3];
}
if(strlen($qtime) < 6){
$btUx = '0' . $qtime;
date_default_timezone_set('UTC');
$unixEpoch = strtotime($btUx);
date_default_timezone_set('America/Denver');
$formtime = date("H:i", $unixEpoch);
}elseif(strlen($qtime) > 5){
date_default_timezone_set('UTC');
$unixEpoch = strtotime($value);
date_default_timezone_set('America/Denver');
$formtime = date("H:i", $unixEpoch);
}
foreach ($quclx as $key=>$tf) {
$idnotime = 0;
$idnow = (strlen($tf) > 2);
switch($tf) {
case $idnow:
$repmlnow = sprintf("Event: %s \nTime: %s \nDesc: %s \n\n", $quname2, $formtime, $qudesc2);
break;
case $idnotime:
$repmlnotm = sprintf("Event: %s \nDesc: %s \n\n", $quname2, $qudesc2);
break;
}
}
/////===================== send mail...
謝謝habibillah,這絕對是一個地方,但它不是金戒指。我收到了一些數據,這可能已經解決了查詢問題,但是現在在foreach語句中存在錯誤。我將對上面的腳本進行一些編輯,並從那裏尋找更多幫助。再次感謝! – defacto7 2012-03-25 06:03:58
我還會在implode語句中進行閱讀。這對我來說是新的。 – defacto7 2012-03-25 06:14:31