gpt4 book ai didi

php - 更新和删除 mysql 表中的信息

转载 作者:行者123 更新时间:2023-11-29 08:50:26 26 4
gpt4 key购买 nike

我刚刚开始掌握 PHP,并完成了一些与它的 MySql 接口(interface),如下所示。我无法让这个脚本工作,因为它部分来自一本书,我认为我在某个地方出错了。这让我发疯!

任何帮助将不胜感激。

<?php

require_once "login.php";

$db_server = mysql_connect($db_hostname,$db_username,$db_password);

if(!$db_server)
{
die("Couldn't connect to MySql" . mysql_error());
}

mysql_select_db($db_database,$db_server)
or die("Sorry, couldn't connect to database" . mysql_error());

if(isset($_POST['delete']) && isset($_POST['isbn']))
{
$isbn = get_post('isbn');
$query="DELETE FROM classics WHERE isbn='$isbn'";

if(!mysql_query($query,$db_server)){
echo "Delete failed: $query ". mysql_error() . "<br/><br/>";
}

if(isset($_POST['author']) &&
isset($_POST['title']) &&
isset($_POST['category']) &&
isset($_POST['year']) &&
isset($_POST['isbn'])){

$author = get_post('author');
$title= get_post('title');
$category = get_post('category');
$year = get_post('year');
$isbn = get_post('isbn');


$query="INSERT INTO classics VALUES".
"('$author','$title','$category','$year','$isbn')";

if(!mysql_query($query,$db_server)){
echo "Update content of table failed: ". mysql_error() . "<br/><br/>";
}
}
echo <<<_SOQ

<form action="sqltest.php" method="post">
<pre>
Author <input type="text" name="author"/>
Title <input type="text" name="title"/>
Category <input type="text" name="category"/>
Year <input type="text" name="year"/>
ISBN <input type="text" name="isbn"/>
<input type="submit" value="ADD RECORD"/>
</pre>
</form>
_SOQ;

$query = "SELECT* FROM classics";
$result = mysql_query($query);

if(!$result) die("Database access failed: " .mysql_error());
$rows = mysql_num_rows($result);

for($i=0;$i<$rows;++$i){

$row = mysql_fetch_row($query);
echo <<<_SOQ

<pre>

Author $row[0];
Title $row[1];
Category $row[2];
Year: $row[3];
ISBN: $row[4];

</pre>

<form action="sqltest.php" method="post">
<input type="hidden" name="delete" value="yes"/>
<input type="hidden" name="isbn" value="$row[4]"/>
<input type="submit" value="DELETE RECORD"/>
</form>
_SOQ;

}

mysql_close($db_server);

function get_post($var){
return mysql_real_escape_string($_POST[$var]);
}

?>

最佳答案

我认为你需要一个额外的右大括号:

if (isset($_POST['delete']) && isset($_POST['isbn'])) {
$isbn = get_post('isbn');
$query="DELETE FROM classics WHERE isbn='$isbn'";

if(!mysql_query($query,$db_server)){
echo "Delete failed: $query ". mysql_error() . "<br/><br/>";
}
}

我添加了第二个右大括号 - 现在可以编译吗?

编辑添加:

您的结束 HEREDOC 引用 (_SOQ) 均以空格缩进 - 带有结束标记的行开头不能有任何空格。

关于php - 更新和删除 mysql 表中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11418325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com