-1

別の問題を修正した後、エラーログにこれが表示されるようになりました。問題は、エラーが表示される場所が見つからないため、その方法でトラブルシューティングを行うことができないことです。誰でも私にいくつかのガイダンスを手伝ってもらえますか? 私は複製をしようとしているのではなく、実際に何が起こっているのかを理解しようとしているだけです。

これはエラーです:

[Wed Mar 27 01:36:41 2013] [error] PHP Warning:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in /nas/wp/www/cluster-1434/XXXXXXX/wp-content/themes/mytheme/functions.php on line 574
[Wed Mar 27 01:36:14 2013] [error] PHP Warning:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in /nas/wp/www/staging/XXXXXXX/wp-content/themes/mytheme/functions.php on line 572

これは 572 行目です。

$ll = mysql_fetch_array($getLL);

これは 574 行目です。

$cou = mysql_fetch_array($getCount);

コードは次のとおりです。

<?php
$con = conDB();
$x = 0;
//if ( false === ( $zip = get_transient( 'distinct_zips' ) ) ) {
$getZips = mysql_query("SELECT Distinct(meta_value) FROM wp_postmeta WHERE meta_key='_gmap_zip'",$con);
//$zip = mysql_fetch_array($getZips);
//  set_transient('distinct_zips', $zip, 60*5);
//}
while($zip = mysql_fetch_array($getZips)){
$getLL = mysql_query("SELECT * FROM zipcodes WHERE zip=".$zip['meta_value'],$con);
$ll = mysql_fetch_array($getLL);
$getCount = mysql_query("SELECT Count(*) FROM wp_postmeta WHERE meta_key='_gmap_zip' AND meta_value=".$zip['meta_value'],$con);
$cou = mysql_fetch_array($getCount);
$zipvalue = $zip['meta_value'];
$getNewest = mysql_query('SELECT * FROM wp_postmeta WHERE meta_key="_gmap_zip" AND meta_value="'.$zipvalue.'" LIMIT 5',$con);
if(strlen($ll['lat'])){
?>

ご協力いただきありがとうございます。

4

3 に答える 3

0

クエリ:

$getLL = mysql_query("SELECT * FROM zipcodes WHERE zip=".$zip['meta_value'],$con);
$getCount = mysql_query("SELECT Count(*) FROM wp_postmeta WHERE meta_key='_gmap_zip' AND meta_value=".$zip['meta_value'],$con);

false を返すことに失敗しているため、これら 2 つの警告が表示されます。

一般的な経験則として、クエリを処理するときは常にエラーをチェックする必要があります。これを実行するには、次を実行します。

if (!empty(mysql_error())) // error
于 2013-03-27T04:23:03.880 に答える
0
try var_dump($getLL)

mysql_query() の実行でエラーが発生したため、false を返しているようです。別の関数に渡す前に、mysql 関数から返される応答を常に再確認してください。

while($zip = mysql_fetch_array($getZips)){
$getLL = mysql_query("SELECT * FROM zipcodes WHERE zip=".$zip['meta_value'],$con);
if($getLL == false)
{
    echo mysql_error();
    exit;
}
$ll = mysql_fetch_array($getLL);
$getCount = mysql_query("SELECT Count(*) FROM wp_postmeta WHERE meta_key='_gmap_zip' AND meta_value=".$zip['meta_value'],$con);
$cou = mysql_fetch_array($getCount);
$zipvalue = $zip['meta_value'];
$getNewest = mysql_query('SELECT * FROM wp_postmeta WHERE meta_key="_gmap_zip" AND meta_value="'.$zipvalue.'" LIMIT 5',$con);
于 2013-03-27T04:23:15.223 に答える
0

後に以下のコードを使用してください$getLL = mysql_query(...

if (!$getLL) { 
    die('Invalid query getLL: ' . mysql_error());
}

また、以下のコードの後に$getCount = mysql_query(...

if (!$getCount) { 
    die('Invalid query getCount: ' . mysql_error());
}
于 2013-03-27T05:50:28.707 に答える