2016-11-18 11 views
2


ここで問題になるのは、GuildNameを持つWHEREがあるとすぐに機能しないことです。単に何も更新しません。
id = 1(100ギルドがあるので、id = 1を設定するのはオプションではありません)とすぐに動作します。(PDO)UPDATEはWHERE変数で更新されません

$form   = $_POST; 
$boss   = $form['bossname']; 
$gname   = $form['guildname']; 
$screen   = $form['screenshot']; 
$log   = $form['logs']; 
$defeat   = $form['defeat']; 

if(isset($_POST['edit-guild'])){ 

    $Statement = $conn->prepare("UPDATE $boss SET `Bossname` =:boss, `GuildName` =:gname, `Screenshot` =:screen, `Link` =:link, `KillTime` =:defeattime, `KillYN` =:kill WHERE `GuildName`=:gname"); 
    // EXECUTING ARRAY FOR ^GUILD INFORMATION 
    $Statement->execute(array(
     "boss"   => $boss, 
     "gname"   => $gname, 
     "screen"  => $screen, 
     "link"   => $log, 
     "defeattime" => $defeat, 
     "kill"   => 'Yes' 
     )); 
} 

私はWHERE id = 1を持つとすぐに動作します。

$Statement = $conn->prepare("UPDATE $boss SET `Bossname` =:boss, `GuildName` =:gname, `Screenshot` =:screen, `Link` =:link, `KillTime` =:defeattime, `KillYN` =:kill WHERE id=1"); 
+1

のようにあなたが同じパラメータ名を再利用することはできません場所を変更しようとすることができますSET更新する上で重要であると考えている場合。 –

+0

'gname'を同じ値で更新するのはなぜですか? –

+1

paramとtabelnameとして正しい 'UPDATE $ boss SET' $ bossですか? – JustOnUnderMillions

答えて

1

前述のとおり、同じパラメータを再使用することはできません。

if(isset($_POST['edit-guild'])){ 

    $Statement = $conn->prepare("UPDATE $boss SET `Bossname` =:boss, `GuildName` =:gname, `Screenshot` =:screen, `Link` =:link, `KillTime` =:defeattime, `KillYN` =:kill WHERE `GuildName`=:gname2"); 
    // EXECUTING ARRAY FOR ^GUILD INFORMATION 
    $Statement->execute(array(
     "boss"   => $boss, 
     "gname"   => $gname, 
     "gname2"   => $gname, 
     "screen"  => $screen, 
     "link"   => $log, 
     "defeattime" => $defeat, 
     "kill"   => 'Yes' 
     )); 
} 
+0

これは単に別の名前でそれを持っていればここで仕事をするべきですか? – pbahmann1

+0

他のエラーは表示されません。あなたのテーブル名には '$'という接頭辞が付きます。それは意図的なのでしょうか? – atoms

+0

Okはチャームのように働いた、ありがとう!よりよい解決策がありますか?あなたは懐疑的だと思われる – pbahmann1

0

gnameフィールドをアップデートセットから削除してください。

$Statement = $conn->prepare("UPDATE $boss SET `Bossname` =:boss, `Screenshot` =:screen, `Link` =:link, `KillTime` =:defeattime, `KillYN` =:kill WHERE `GuildName`=:gname"); 

あなたはgnameはあなたが別の別の名前を試すかの条件が別のフィールドid

関連する問題