2012-05-11 28 views
0

私はデータベース内のUPDATEボタンによってトリガされたテーブルを更新しようとしていましたが、値を変更してから更新ボタンをクリックするだけで何とか動作しません。更新/変更はありません。ヘルプを実行してください。更新が機能しません

<?php 
session_start(); 
require_once("dbconnect.php"); 

$webhost=$_GET["webhost"]; 

$requesttitle=$_POST["requesttitle"]; 
$requesturl=$_POST["requesturl"]; 
$requestcap=$_POST["requestcap"]; 
$requestdestype=$_POST["requestdestype"]; 
$requestdbtype=$_POST["requestdbtype"]; 
$deptname=$_POST["deptname"]; 
$contactname=$_POST["contactname"]; 
$contactnum=$_POST["contactnum"]; 
$contactemail=$_POST["contactemail"]; 
$startdate=$_POST["startdate"]; 
$enddate=$_POST["enddate"]; 

if(isset($_POST['button'])) 
{ 

$sql="update webhostrequest set requesttitle='$requesttitle', "; 
    $sql.="requesturl='$requesturl', requestcap='$requestcap', "; 
    $sql.="requestdestype='$requestdestype', requestdbtype='$requestdbtype', "; 
    $sql.="deptname='$deptname', contactname='$contactname', "; 
    $sql.="contactnum='$contactnum', contactemail='$contactemail' '; 
    $sql.="startdate='$startdate', enddate='$enddate', recentact=now() where requestid='$id'"; 

$result = mysql_query($sql) or die ("Error in editing item. ".mysql_error()); 
} 
header("location: editwebhost.php?webhost=$webhost"); 
exit; 

?> 
+1

PHPのSQLに関するすべての質問がパラメータ化されたクエリを使用している日には長くなることがあります:( –

+0

ところで、この行は間違っています:$ sql。= "contactnum = '$ contactnum'、contactemail = '$ contactemail' '; $ sql。= "contactnum =' $ contactnum '、contactemail =' $ contactemail '、"; –

+0

これを指摘してくれてありがとう、私は入力ミスをしたようです – ayou

答えて

0

$ idはあなたのコードに設定されていません。したがって、 "WHERE"はrequestid = $ idでエントリを更新するように規定しているので、おそらく欠落しているリンクですか?

+0

申し訳ありませんが、私はこの部分を見落としました。requestid = '$ webhost' – ayou

+0

はコードを修正しました。今はうまく動作します:)ありがとうございます。 – ayou

+0

よろしくお願いします。 – Robbie

0

コードにどのようなクエリが生成されているかを確認できるように、$ sqlをページにエコーしてみてください。次に、直接クエリを実行してみてください(phpMyAdminを使用するか、データベースにアクセスしてください)。

"またはdie()"からエラーが発生しましたか?

関連する問題