0

これが私のPHPです:

#!/cron.php
<?php

$dbconnect = new mysqli('localhost','root','root','serrano');
$query = "SELECT `app`,`email`,`accept` FROM `requests` WHERE `accept`=1";

$result = mysql_query($query);

if($result && $result->num_rows>=1) {
    $subject = "Your application has been accepted for review.";
    $message='Congratulations. Your application "';

    while($row=$result->fetch_assoc()) {
        $message.="{$row['name']}\"";
        $email="{$row['email']}";
    }

    $message.="has been accepted for review at redacted.";
    if(mail($email, $subject, $message)) {
      //mail successfully sent
    } else {
        echo "fail";
    }
  }
?>

私の知る限り、クエリは正常に機能します。データベース内の関連する行を返します。私のPHPはどうなっていますか?

コードの更新 1

これは更新された PHP で、mysqli エラーが修正されています。それでもエラーが返されます。

PHP 致命的なエラー: 5 行目の [...] の非オブジェクトに対するメンバー関数 query() の呼び出し

#!/cron.php
<?php

$dbconnect = new mysqli('localhost','root','root','serrano');
$result->query('SELECT `app`,`email`,`accept` FROM `requests` WHERE `accept`=1');

if($result && $result->num_rows>=1) {
$subject = "Your application has been accepted for review.";
$message='Congratulations. Your application "';

while($row=$result->fetch_assoc()) {
    $message.="{$row['name']}\"";
    $email="{$row['email']}";
}

$message.="has been accepted for review at redacted.";
if(mail($email, $subject, $message)) {
  //mail successfully sent
} else {
    echo "fail";
}
  }
?>

作業コード

さて、これが作業コードです。接続方法とクエリの実行方法を少し調整します。

#!/cron.php
<?php


$link = mysqli_connect('localhost','root','root','serrano');

$result = mysqli_query($link, 'SELECT `app`,`email`,`accept` FROM `requests` WHERE  `accept`=1');

if($result->num_rows >= 1){
$subject = "Your application has been accepted for review.";
$message='Congratulations. Your application "';

while($row=$result->fetch_assoc()) {
    $message.="{$row['app']}\"";
    $email="{$row['email']}";
}

$message.="has been accepted for review at redacted.";
if(mail($email, $subject, $message)) {
  //mail successfully sent
} else {
    echo "fail";
}
 }
?>
4

1 に答える 1

2

を使用していますが、同時にmysqli使用しています。mysql_query

$dbconnect->query()の代わりにする必要がありmysql_queryます。

于 2012-06-30T15:45:36.260 に答える