0

PHP コードでデータを選択したいのですが、選択したデータが mysql データベースから提示された後、選択したデータが削除されます! これは一般的な私の考えです。

私はコードを書きました。最初のコードは、データベースからデータを出力して、ユーザーがデータを選択できるようにすることです。これが最初のコードです。

<form method="POST" action="deleteacc.php" name='monitor' id='monitor'>
<select name="drivers"><option>Please Select the sensor id that you want to delete :</option>  
<?php

$uid=$_SESSION['uid'];

  $dbName = "senior"; //Database name
        $db = mysql_connect ("localhost","root","hahaha1") or die("Unable To Connect "); //Connect to database
        $test= mysql_select_db ($dbName,$db) or die("Unable to select database"); //Test Connection

        $result=mysql_query("SELECT * FROM accelerometer ");


        while ($row=mysql_fetch_array($result))
        {
            $sid = $row['sid'];
            $x=$row['x'];
            $y=$row['y'];
            $z=$row['z'];
            $date=$row['date'];
            $time=$row['time'];
            echo "<option  name=$sid' value='$sid'>  Device ID: $sid</option>"; 
        }           

        mysql_close($db);
        ?>
</select></center>
<br>
 <center> <input type="submit" value= "   Monitor   " name="submit" ><br /><br /> </center>
</form>

選択したデータを削除する 2 番目のコード:

<?php
$dbh=mysql_connect("localhost", "root", "hahaha1") or die (mysql_error());
mysql_select_db ("senior");
extract($_POST);
$mySql="DELETE FROM accelerometer WHERE sid=$drivers"; 
mysql_query($mySql) or die (mysql_error()); 
echo "<h2> User info was deleted successfully</h2>";
echo "<h3>To go back to adminstration control click <a href='member.php'>Here!</a> or to delete another accelerometer value click <a href='deleteacc2.php'>Here!</a></h3>";
mysql_close($dbh);
?>

私の問題は、メニューからデータを選択してモニターを押したときに、このエラーが表示されたことです。

Unknown column 'bedoor' in 'where clause'

私の問題を解決する方法について何か考えはありますか?

4

1 に答える 1

0

これ:

echo "<option  name=$sid' value='$sid'>  Device ID: $sid</option>";

次のようにする必要があります。

echo "<option  value=\"".$sid."\">  Device ID: ".$sid."</option>";

減価償却されているため、mysql ext を使用するべきではありません。mysqli または PDO を調べます。

呼び出しページで投稿変数を設定する方法は次のとおりです。

    <?php
$dbh=mysql_connect("localhost", "root", "hahaha1") or die (mysql_error());
mysql_select_db ("senior");
if(isset($_POST['drivers']))
    {
        $drivers = $_POST['drivers'];
    }
$mySql="DELETE FROM accelerometer WHERE sid = '".$drivers."'"; 
mysql_query($mySql) or die (mysql_error()); 
echo "<h2> User info was deleted successfully</h2>";
echo "<h3>To go back to adminstration control click <a href='member.php'>Here!</a> or to delete another accelerometer value click <a href='deleteacc2.php'>Here!</a></h3>";
mysql_close($dbh);
?>
于 2012-12-17T21:23:27.580 に答える