dongqie4402 2013-12-11 10:17
浏览 56

通过PHP选择表格从数据库中删除条目 - 不删除条目

I'm trying to delete an entry from my database using an HTML form. However, when it's submitted, the entry doesn't get deleted from the database and no error code is displayed to say why.

Could somebody possibly let me know if I'm missing something from my code, just in case I've over-looked something?

Thank you.

<form method="post" action="./removeBook.inc.php">
<select name="books">
<option>Please select the Book you wish to delete:</option>
<?php
try {
    $dsn = "mysql:host=csdm-mysql;dbname=db1001550_book_management";
    $username = "1001550";
    $password = "1001550";
    // try connecting to the database
    $con = new PDO($dsn, $username, $password);
    // turn on PDO exception handling 
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    // enter catch block in event of error in preceding try block
    echo "Connection failed: " . $e->getMessage();
}

try {                                          
    $sql=("SELECT * FROM books");                                          
    $results = $con->query($sql);                                                                                  
    if ($results->rowcount() == 0) {
        echo "<p>No books found. </p><br />";
    } else {     
        foreach ($results as $row) {
            $book_id=$row['book_id'];                                    
            echo "<option value=\"".$book_id."\">".$book_id."</option>";
        } 
    }
} catch (PDOException $e) {
    echo "Query failed: " . $e->getMessage();
}

mysql_close();
?>

</select>
<input type="submit" name="submit" value="Remove Book" style="width:auto;">
</form>

And here is the code within the form submitted page:

<?php                            
$host="csdm-mysql"; // Host name 
$username="1001550"; // Mysql username 
$password="1001550"; // Mysql password 
$db_name="db1001550_book_management"; // Database name  

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("Cannot select DB");

if (isset($_POST['books'])) {
    $books=$_POST['books']; 
}

// Remove data from database 
$result=mysql_query("DELETE FROM books WHERE book_id=$books");

// if successfully deleted from database, prompt will say book was deleted. 
if ($result) {
    print "<script type=\"text/javascript\">";
    print "alert('Book has been deleted successfully!')";
    print "</script>";
} else {
    print "<script type=\"text/javascript\">";
    print "alert('Book was not deleted')";
    print "</script>";
}

// close connection
mysql_close();
?>

<form method="post" action="./removeBook.inc.php">
                              <select name="books">
                                  <option>Please select the Book you wish to delete:</option>
                                  <option value='B0001'>B0001</option><option value='B0002'>B0002</option><option value='B0003'>B0003</option><option value='B0004'>B0004</option><option value='B0005'>B0005</option><option value='B0006'>B0006</option><option value='B0007'>B0007</option><option value='B0008'>B0008</option><option value='B0009'>B0009</option><option value='B0010'>B0010</option><option value='B0011'>B0011</option><option value='B0012'>B0012</option><option value='B0013'>B0013</option><option value='B0014'>B0014</option><option value='B0015'>B0015</option><option value='B0016'>B0016</option><option value='B0017'>B0017</option><option value='B0018'>B0018</option><option value='B0019'>B0019</option><option value='B0020'>B0020</option>                                      
                              </select>
                            <input type="submit" name="submit" value="Remove Book" style="width:auto;">
                            </form>

Thank you for your help in advance!

  • 写回答

2条回答 默认 最新

  • doushi8599 2013-12-11 10:21
    关注

    IF your book_id field is varchar or text, you should add quotes between $books

    ...WHERE book_id='$books'
    
    评论

报告相同问题?

悬赏问题

  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化