首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql查询没有插入值。

问Mysql查询没有插入值。
EN

Stack Overflow用户
提问于 2015-02-20 02:38:13
回答 3查看 69关注 0票数 0

我试着从post值中插入一些值到我的db中,但是它不起作用。从一个post中只尝试了一个值,它可以工作,而不是使用多个post。没有错误,什么也没有:

http://prntscr.com/67e1qd

代码:

代码语言:javascript
复制
$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.";
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-20 02:42:08

试着把你得到的东西贴出来:

代码语言:javascript
复制
$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:

代码语言:javascript
复制
$update = "UPDATE topic SET nome = '".$nome."', `desc` = '".$desc."', `link` = '".$link."' WHERE id = '".$newnumber."'";

$run = mysql_query($update) or die(mysql_error());

Edit3:

代码语言:javascript
复制
$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.";
}
票数 3
EN

Stack Overflow用户

发布于 2015-02-20 03:16:04

看起来,您正在编写代码来增加数据库中行的ID,这时您可以让MySQL自己处理这个问题。如果您在id字段上设置了自动增量true,那么您所需要的就是以下内容;

代码语言:javascript
复制
// 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字段设置为自动增量,则id将自动设置为列表中的下一个数字。

票数 1
EN

Stack Overflow用户

发布于 2015-02-20 02:46:21

试试这个:

代码语言:javascript
复制
$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.";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28620799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档