1

フォームが (Ajax 経由で) 送信されると、次のエラー メッセージが表示されます。

[17-Oct-2012 11:46:29] PHP Warning:  mysqli_query() [<a href='function.mysqli-query'>function.mysqli-query</a>]: Empty query in /home1/xenongro/public_html/testing/enrolment/thanks.php on line 32

if/else ステートメントと関係があるのではないかと疑っていますが、実際の問題が何であるかはわかりません。

誰でも助けることができますか?

<?php

$firstname = htmlspecialchars(trim($_POST['fname']));
$lastname = htmlspecialchars(trim($_POST['lname']));
$worktel = htmlspecialchars(trim($_POST['worktel']));

$dbc = mysqli_connect('localhost', 'xxxxx', '<xxxx>', 'xxxx')
or die ('Could not connect to MySQL server.');

if ($level != "IOSH Managing Safely"){
 if ($funding == "Self Funding"){
  $query = "INSERT INTO enrolments (fname, lname, worktel)" . 
"VALUES ('$firstname', '$lastname', '$worktel')";
}
else if ($funding == "Employer Funding"){
$query = "INSERT INTO enrolments (fname, lname, worktel)" . 
"VALUES ('$firstname', '$lastname', '$worktel')";
}
}
else if ($level == "IOSH Managing Safely"){
if ($funding == "Self Funding"){
$query = "INSERT INTO enrolments (fname, lname, worktel)" . 
"VALUES ('$firstname', '$lastname', '$worktel')";
}

else if ($funding == "Employer Funding"){
$query = "INSERT INTO enrolments (fname, lname, worktel)" . 
"VALUES ('$firstname', '$lastname', '$worktel')";
    }
    }

$result = mysqli_query($dbc, $query)
or die ('error querying database');
mysqli_close($dbc);

?>
4

3 に答える 3

0

試す

var_dump($query);
var_dump($funding);

直前

$result = mysqli_query($dbc, $query);

より多くの情報を提供します

定数文字列にわずかな違いがあると思わ$fundingれます

タイプミスの可能性 / 余分なスペース / キャップケース

于 2012-10-17T10:52:55.880 に答える
0

クエリが設定されていない状況が 2 つあります。レベルが文字列と一致しないか、資金が文字列と一致しません。スペースに問題がある可能性があります。

さらに悪いことに、mysql_real_escape_string を使用しないと、magic_quotes_gpc がオンになっていない限り、攻撃者が SQL を注入できるようになります。

于 2012-10-17T10:53:41.190 に答える
0

$funding提供されたコード例では定義されていないように見えるため、あなたifの はどれも一致しません。

于 2012-10-17T10:54:38.733 に答える