6

私はこれを数日間調べてきましたが、エラーが発生している理由を見つけることができません. php の警告は表示されず、エラー ハンドラが挿入される代わりに「問題が発生しました」と表示されます。ここの元気な若い若者は、おそらく数秒でそれを見つけるでしょう。特に、単純な挿入ステートメントであることを考えると、私は困惑しています。前もって感謝します。

include('core.inc.php');
$sql = 'INSERT INTO $resultsTable (
    id, 
    firstName, 
    lastName, 
    email, 
    birthday, 
    anniversary,
    location,
    campaign
) 
VALUES (NULL,?,?,?,?,?,?,?)';
$stmt = $mysql->stmt_init();
if ($stmt->prepare($sql)) { 
// bind parameters and execute statement
$stmt->bind_param(
    'sssssss', 
    $_POST['fname'], 
    $_POST['lname'],
    $_POST['email'],
    $_POST['birthday'],
    $_POST['anniversary'],
    $_POST['location'],
    $campaign
);

$OK = $stmt->execute();}
 // return if successful or display error
    if ($OK) {$response = "Success";}
    else {$response ="Something went wrong.";}
}
4

1 に答える 1

3

わかりました stmt エラーをエコーし​​ましたが、$resultsTable が存在しないことがわかりました。core.inc には、その変数の定義があります。

連結または二重引用符を使用します。

$sql = 'INSERT INTO ' . $resultsTable . ' (
    id, 
    firstName, 
    lastName, 
    email, 
    birthday, 
    anniversary,
    location,
    campaign
) 
VALUES (NULL,?,?,?,?,?,?,?)';


$sql = "INSERT INTO $resultsTable (
    id, 
    firstName, 
    lastName, 
    email, 
    birthday, 
    anniversary,
    location,
    campaign
) 
VALUES (NULL,?,?,?,?,?,?,?)";
于 2012-04-21T15:19:26.853 に答える