0

GoogleとSOで検索した後、これをここに置くことにしました..一重引用符とバッククォートを列に変更しようとしましたが、どちらも役に立ちませんでした..どんな助けにも感謝します!!!

$a=mysql_query("UPDATE exercisemember SET reps='$reps' WHERE memid='$memid1'")       or die(mysql_error());

    $b=mysql_query("UPDATE exercisemember SET sets1='$sets1' WHERE memid='$memid1'")       or die(mysql_error());

よろしくお願いします.. update 1 member1 は実際には $memid1 の値です

4

2 に答える 2

0

あなたのタイトルが言うように、列 member1 はありません。問題は、$memid に qoute があることです。

変数の内容を確認するには、$memid でエコーを実行してください。

また、pdoまたはmysqliを使用することをお勧めします

pdo では次のようになります。

//database connection
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

$sql = 'UPDATE exercisemember SET reps=:reps WHERE memid=:memid';
$update = $dbh->prepare($sql);
$update->bindParam(':reps', $reps, PDO::PARAM_STR); //if it is a integer use PDO::PARAM_INT
$update->bindParam(':memid', $memid, PDO::PARAM_STR);
$update->execute();

これにより、SQL インジェクションが防止されます。

于 2013-04-04T10:08:50.137 に答える
0
 $a=mysql_query("UPDATE exercisemember SET reps='".$reps."' WHERE memid='".$memid1."'")  

echoクエリを使用して違いを見つけることができます

于 2013-04-04T10:36:53.490 に答える