0

UPDATE(mysql)を使用するのはこれが初めてです。このコードは更新をmysqlデータベース/テーブル/行に送信しません。私は php.net に何時間も費やしましたが、現在のレベルまたは PHP の知識から見ると、それは正しいことであり、私が間違っているため、私は愚かです =}。私はmysqlにログインしました - 何も役に立ちません

これはZENDサーバーからのものです。したがって、通過しているように見えますが、mysqlデータベースで更新されていません. 関数名: mysql_query 関数の引数: 'UPDATE ads SET adcode = \'7000sbjhbjhbhjb\' WHERE ads_ID = 8'

ポインタ/ヘルプは大歓迎です。

<?php
require 'config.php';

// Report all Errors
//error_reporting(-1);
//ini_set('display_errors','On');

//connect to DB
mysql_connect("$host", "$db_user", "$db_password");
mysql_select_db("$db_name"); 
    $query = "SELECT * FROM ads";
    $result = mysql_query($query);
    $num = mysql_numrows($result);

echo "<h1><center>AD's Currently Available</center></h1><br /><br />";

$i=0;
while ($i < $num) {
    $ID = mysql_result($result,$i,"ID");
    $adname = mysql_result($result,$i,"adname");
    $currentadcode = mysql_result($result,$i,"adcode");

// Delete AD item by ID number  
$action = (isset($_REQUEST['action']));
if ($_GET['action'] == "deletead") {  // remove AD
    mysql_query("DELETE FROM ads where ID = '$_GET[IDnum]'");
    $i=$i++;
    header("Location: " . $_SERVER['PHP_SELF']);
}

$letknown = "<b>AD removed</b><br />";

**// Edit AD code
if (isset($_POST['editad' . $ID])) {
    $newadcode = mysql_real_escape_string($_POST['adcode' . $ID]);
    $doedit = "UPDATE ads SET adcode = '" . $newadcode . "' WHERE ads_ID = " . $ID;
    $updatead = mysql_query($doedit);
    header("Location: " . $_SERVER['PHP_SELF']);**

}
$letknown = "<b>Ad Edited</b><br />";

    echo "<b>$ID : $adname</b><br /><a href=\"?action=deletead&IDnum=$ID\">Delete Ad</a><br /><br />\n";
    echo "Preview :<br /><div class=\"adcode\">$currentadcode</div><br /> \n";
    echo "<br />\n";
    echo "<form action=\"displayads.php\" name=\"addAD$ID\" method=\"post\">\n";
    echo "AD code (can be any type of script) text link, javascript or banner :<br />\n";
    echo "Code :<br /><textarea name=\"adcode$ID\" wrap=\"physical\" cols=\"60\" rows=\"5\" onKeyDown=\"textCounter(document.addAD$ID.adcode$ID,document.addAD$ID.remLen$ID,5000)\" onKeyUp=\"textCounter(document.addAD$ID.adcode$ID,document.addAD$ID.remLen$ID,5000)\">$currentadcode</textarea>";
    echo "<br /><input readonly type=\"text\" name=\"remLen$ID\" size=\"3\" maxlength=\"3\" value=\"5000\">Characters Left \n";
    echo "**<input type=\"submit\" name=\"editad$ID\" value=\"Edit AD Code\">**</form>\n";
    echo "<br /><hr />";

$i++;
}

?>
4

1 に答える 1

5

閉じる二重引用符がありません:

$doedit = "UPDATE ads SET adcode = '" . $newadcode . "' WHERE ads_ID = '". $ID."'";

または、次のようにクエリを記述します。

$doedit = "UPDATE ads SET adcode = '$newadcode' WHERE ads_ID = '$ID'";

単一の行のみを更新する場合は、LIMIT 1 を使用します

于 2012-10-06T05:07:16.247 に答える