2017-05-30 12 views
1

INSERT INTOは実行されず、$ reが未定義であるという通知を除いてエラーは発生しません。以前は働いていましたが、もはや機能しませんでした。MySQLクエリが実行されない

$servername = "localhost"; 
$username = "id728908_njaohnt"; 
$password = "pass"; 
$dbname = "id728908_sub"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
} 
if (!$resu=$conn->query("SELECT confirmed FROM subscribers WHERE 
email='".$email."'")) 
{echo $conn->error;} 

while ($row = $resu->fetch_assoc()) { 
$resul=$row['confirmed'];} 
$sql = "INSERT INTO subscribers (email) VALUES ('".$email."')"; 

    if ($resul==null || $resul==0) 
    { 
    if ($resul!=0) 
{ 
    if ($conn->query($sql) === TRUE) 
    { 
$res=$conn->query("SELECT A_I FROM subscribers WHERE email='".$email."'"); 
while ($row = $res->fetch_assoc()) { 
$re=$row['A_I']; 
... 

$メールが $メール= @Trim(にstripslashes($ _ GET [ 'メール']))です。

+0

おそらく、INSERT INTOでエラーをチェックするコードを追加する必要があります。また、mysqliの代わりにPDOを使用することも検討してください。 –

+0

Mysqliは問題ありませんが、パラメータ化されたクエリを使用する必要があります – Strawberry

+0

'$ email'はどこにあるのか、また何が'? ' –

答えて

1

$ emailはどこに定義されていますか?それがユーザー入力の場合は、SQL文字列に入れる前に消毒されていることを確認してください。これに

if ($resul==null || $resul==0) 
{ 
    if ($resul!=0) 
    { 

if ($resul==null) { 

他の条件が役に立たないこの

リファクタリング。

"$ re = $ row ['A_I'];"という行に "$ re is undefined"というメッセージが表示されていますか?

+0

$ reが文字列に置かれている行でreが未定義です。 "text"。$ re。 "more text" – njaohnt

+0

if($ resul!= 0)が通っていなくなったのはなぜですか?次回に他のものを試す前にコードを作成してください! – njaohnt

関連する問題