[英]Mysql query is not inserting values
我尝试将一些来自帖子值的值插入到我的数据库中,但它不起作用。从1个帖子中仅尝试了1个值,它就可以正常工作,不适用于多个帖子。 没有错误,没什么:(
码:
$rowSQL = mysql_query( "SELECT MAX( id ) AS max FROM `topic`;" );
$row = mysql_fetch_array( $rowSQL );
$largestNumber = $row['max'];
$new_id = ++$largestNumber;
$newnumber = mysql_query("INSERT INTO topic SET id = '".$new_id."'");
if (isset($_POST['submit']) && strlen($_POST['nome'])!== 0 && strlen($_POST['desc'])!== 0 && strlen($_POST['link'])!== 0){
$nome = mysql_real_escape_string($_POST['nome']);
$desc = mysql_real_escape_string($_POST['desc']);
$link = mysql_real_escape_string($_POST['link']);
$insert = ("INSERT INTO topic SET nome = '".$nome."', `desc` = '".$desc."', `link` = '".$link."' WHERE id = '".$newnumber."'") or die(mysql_error());
$run = mysql_query($insert);
if($run) { echo '<span style="color:#AFA;text-align:center;margin:8px;">Sucesso!</span>'; } else { echo '<span style="color:#DC143C;text-align:center;margin:8px;">Ocorreu um erro.Tenta novamente.</span>'; }
}else{
echo "Campos não foram preenchidos.";
}
试试这个,并发布您所得到的:
$rowSQL = mysql_query( "SELECT MAX( id ) AS max FROM `topic`;" );
$row = mysql_fetch_array( $rowSQL );
$largestNumber = $row['max'];
$new_id = ++$largestNumber;
$newnumber = mysql_query("INSERT INTO topic SET id = '".$new_id."'");
if (isset($_POST['submit']) && strlen($_POST['nome'])!== 0 && strlen($_POST['desc'])!== 0 && strlen($_POST['link'])!== 0){
$nome = mysql_real_escape_string($_POST['nome']);
$desc = mysql_real_escape_string($_POST['desc']);
$link = mysql_real_escape_string($_POST['link']);
$insert = "INSERT INTO topic SET nome = '".$nome."', `desc` = '".$desc."', `link` = '".$link."' WHERE id = '".$newnumber."'";
echo $insert;
$run = mysql_query($insert) or die(mysql_error());
if($run) { echo '<span style="color:#AFA;text-align:center;margin:8px;">Sucesso!</span>'; } else { echo '<span style="color:#DC143C;text-align:center;margin:8px;">Ocorreu um erro.Tenta novamente.</span>'; }
}else{
echo "Campos não foram preenchidos.";
}
编辑:
如果要插入一些数据,那么为什么要在其中放置where子句?
EDIT2:
$update = "UPDATE topic SET nome = '".$nome."', `desc` = '".$desc."', `link` = '".$link."' WHERE id = '".$newnumber."'";
$run = mysql_query($update) or die(mysql_error());
EDIT3:
$rowSQL = mysql_query( "SELECT MAX( id ) AS max FROM `topic`;" );
$row = mysql_fetch_array( $rowSQL );
$largestNumber = $row['max'];
$new_id = ++$largestNumber;
if (isset($_POST['submit']) && strlen($_POST['nome'])!== 0 && strlen($_POST['desc'])!== 0 && strlen($_POST['link'])!== 0){
$nome = mysql_real_escape_string($_POST['nome']);
$desc = mysql_real_escape_string($_POST['desc']);
$link = mysql_real_escape_string($_POST['link']);
mysql_query("INSERT INTO topic SET id = '".$new_id."', nome = '".$nome."', `desc` = '".$desc."', `link` = '".$link."'") or die(mysql_error());
if($run) { echo '<span style="color:#AFA;text-align:center;margin:8px;">Sucesso!</span>'; } else { echo '<span style="color:#DC143C;text-align:center;margin:8px;">Ocorreu um erro.Tenta novamente.</span>'; }
}else{
echo "Campos não foram preenchidos.";
}
看起来您正在编写代码来增加数据库中行的ID,这时您可以让MySQL自行处理。 如果在id字段上将AUTO INCREMENT设置为true,那么您需要做的只是以下几点;
// Validate your POST inputs
if (isset($_POST['submit']) && strlen($_POST['nome'])!== 0 && strlen($_POST['desc'])!== 0 && strlen($_POST['link'])!== 0){
$nome = mysql_real_escape_string($_POST['nome']);
$desc = mysql_real_escape_string($_POST['desc']);
$link = mysql_real_escape_string($_POST['link']);
$insert = "INSERT INTO topic (nome, desc, link) VALUES ('".$nome."', '".$desc."', '".$link."')";
echo $insert;
$run = mysql_query($insert) or die(mysql_error());
if($run) { echo '<span style="color:#AFA;text-align:center;margin:8px;">Sucesso!</span>'; } else { echo '<span style="color:#DC143C;text-align:center;margin:8px;">Ocorreu um erro.Tenta novamente.</span>'; }
}else{
echo "Campos não foram preenchidos.";
}
如果将id字段设置为AUTO INCREMENT,则id会自动将其自身设置为列表中的下一个数字
试试这个:
$rowSQL = mysql_query( "SELECT MAX( id ) AS max FROM `topic`;" );
$row = mysql_fetch_array( $rowSQL );
$largestNumber = $row['max'];
$new_id = ++$largestNumber;
$newnumber = mysql_query("INSERT INTO topic SET id = '".$new_id."'");
$newnumberid = mysql_query("SELECT id FROM topic WHERE id = '".$new_id."'");
if (isset($_POST['submit']) && strlen($_POST['nome'])!== 0 && strlen($_POST['desc'])!== 0 && strlen($_POST['link'])!== 0){
$nome = mysql_real_escape_string($_POST['nome']);
$desc = mysql_real_escape_string($_POST['desc']);
$link = mysql_real_escape_string($_POST['link']);
$insert = "UPDATE topic(nome,desc,link) SET nome = '".$nome."', `desc` = '".$desc."', `link` = '".$link."' WHERE id = '".$newnumberid."'";
echo $insert;
$run = mysql_query($insert) or die(mysql_error());
if($run) { echo '<span style="color:#AFA;text-align:center;margin:8px;">Sucesso!</span>'; } else { echo '<span style="color:#DC143C;text-align:center;margin:8px;">Ocorreu um erro.Tenta novamente.</span>'; }
}else{
echo "Campos não foram preenchidos.";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.