Php 从数据库中删除数据时出错
我试图从数据库中删除一些信息,但当我要求用户确认操作时,出现了一些问题。你能帮我吗 如果没有解决任何问题,脚本将打印要选择的类别。然后,它要求用户删除或不删除所选的类别。最后,它删除了所选择的内容 但最后一部分(脚本的第一部分)有一些错误,我无法理解哪里出了问题:Php 从数据库中删除数据时出错,php,database,post,sql-delete,Php,Database,Post,Sql Delete,我试图从数据库中删除一些信息,但当我要求用户确认操作时,出现了一些问题。你能帮我吗 如果没有解决任何问题,脚本将打印要选择的类别。然后,它要求用户删除或不删除所选的类别。最后,它删除了所选择的内容 但最后一部分(脚本的第一部分)有一些错误,我无法理解哪里出了问题: <?php //If the user confirm to delete... if(isset($_POST['eliminazione_conferma']) and $_POST['eliminazion
<?php
//If the user confirm to delete...
if(isset($_POST['eliminazione_conferma']) and $_POST['eliminazione_conferma']=='conferma'){
//if conferma_eliminazione=1, don't delete
if(isset($_POST['conferma_eliminazione']) and $_POST['conferma_eliminazione']=='1'){
echo 'Eliminazione annullata';
}else{//Delete if conferma_eliminazione=0
while($row=$categoria){
$delete= "DELETE FROM categorie WHERE $row = category_id";
$query=mysql_query($delete);
echo "$row eliminato\n";
}
}
}else{//ELSE, print the form to confirm action
if(isset($_POST['eliminazione']) and $_POST['eliminazione']=='delete'){
//Array with the chosen "categories"
$categoria=isset($_POST['categoria']) ? $_POST['categoria'] : array();
//Print the chosen categories to ask confirmation
echo'Sicuro di voler eliminare le seguenti categoire?<br />';
foreach($categoria as $row){
echo "$row<br />\n";
}
//Yes = 0, No = 1
echo '<form method="post" action="',$_SERVER['REQUEST_URI'],'">
<input type="radio" name="conferma_elimiazione" value="0" />Si<br />
<input type="radio" name="conferma_eliminzione" value="1" />No<br />
<input type="hidden" name="eliminazione_conferma" value="conferma" />';
foreach($categoria as $row){
echo'<input type="hidden" name="categoria[]" value="',$row,'" />',"\n",'' ;
}
echo'
<input type="submit" value="Conferma" />
</form>';
}else{//In the end, if nothing is settled, print the form to check the category to delete
//Select the categories from the database
echo'<form method="post" action="',$_SERVER['REQUEST_URI'],'" />',"\n",'';
$select = "SELECT nome,category_id FROM categorie ORDER BY category_id" ;
$select_result=mysql_query($select) or die("Mysql Error: ".mysql_error());
while($row = mysql_fetch_assoc($select_result)){
echo '<input type="checkbox" name="categoria[]" value="',$row['category_id'],'">',$row['nome'],'<br />';
}
echo'<input type="hidden" name="eliminazione" value="delete" />
<input type="submit" name="submit" value="Elimina" />
</form>';
}
}
查询的问题
$delete= "DELETE FROM categorie WHERE $row = category_id";
是
这里
什么是类别id
你有这个价值吗
可能您需要
WHERE category\u id=/*类似于$row['column\u name']*/
谢谢大家的帮助,但我用这种方式解决了我的问题(脚本没有在整数类型中转换“conferma\u eliminazione”的值):
对Elimina分类的修改
您是否可以减少代码量或将其分离以使其更具可读性?另外,“error”是一个宽泛的术语,请定义它。我只知道mysql\u query和其他的都不推荐使用,但是如果我发现了错误,我以后会检查它们。抱歉^^“category_id是我的数据库中保存类别id的列。但是,问题是当用户接受删除所选类别时。脚本不会执行此部分://如果conferma_eliminazione=1,则不要删除if(isset($_POST['conferma_eliminazione'])和$_POST['conferma_eliminazione']='1'){etc..}
那么查询应该是其中category_id=/*some value*/
WHERE $row = category_id";
<h2>Modifica o Elimina Categoria </h2>
<?php
if(isset($_POST['eliminazione_conferma']) and $_POST['eliminazione_conferma']=='conferma'){
$categoria=isset($_POST['categoria']) ? $_POST['categoria'] : array();
$a=(int)$_POST['eliminazione'];
if($a=='1'){
echo 'Eliminazione annullata';
echo "\n";
}elseif($a=='0'){
foreach($categoria as $row){
$delete= "DELETE FROM categorie WHERE $row = category_id";
$query=mysql_query($delete);
echo "$row eliminato\n";
}
}
}else{
if(isset($_POST['eliminazione']) and $_POST['eliminazione']=='delete'){
$categoria=isset($_POST['categoria']) ? $_POST['categoria'] : array();
echo'Sicuro di voler eliminare le seguenti categoire?<br />';
foreach($categoria as $row){
echo '',$row,'<br />',"\n";
}
echo '<form method="post" name="form_eliminazione_categoria" action="',$_SERVER['REQUEST_URI'],'">',"\n",'
<input type="radio" name="eliminazione" value="0" />Si<br />' ,"\n",'
<input type="radio" name="eliminazione" value="1" />No<br />',"\n",'
<input type="hidden" name="eliminazione_conferma" value="conferma" />',"\n",'';
foreach($categoria as $row){
echo '<input type="hidden" name="categoria[]" value="',$row,'" /><br />',"\n",'';
}
echo'
<input type="submit" value="Conferma" />
</form>';
}else{
echo'<form method="post" action="',$_SERVER['REQUEST_URI'],'" />',"\n",'';
$select = "SELECT nome,category_id FROM categorie ORDER BY category_id" ;
$select_result=mysql_query($select) or die("Mysql Error: ".mysql_error());
while($row = mysql_fetch_assoc($select_result)){
echo '<input type="checkbox" name="categoria[]" value="',$row['category_id'],'">',$row['nome'],'<br />';
echo "\n";
}
echo'<input type="hidden" name="eliminazione" value="delete" />',"\n",'
<input type="submit" name="submit" value="Elimina" />',"\n",'
</form>';
}
}