PHP形式的mysql插入语句
Posted
技术标签:
【中文标题】PHP形式的mysql插入语句【英文标题】:mysql insert statement in PHP form 【发布时间】:2016-03-13 00:14:01 【问题描述】:我想在php
中显示一个列表,其中包含mysql-database
中的条目。它可以工作,现在在同一个.php
文件中,一个表单应该在数据库中插入一个新条目,然后它应该显示在列表中。我的尝试失败了,每次访问该站点时,最后一个条目总是插入到数据库中。下面是我的代码:
PHP-Part adminlist.php:
$adminname = mysqli_real_escape_string($con, $_POST['adminname']);
$server = mysqli_real_escape_string($con, $_POST['server']);
if(!empty($adminname && $server))
$insert = "INSERT INTO admins (ID, Name, Passwort, Server, Anmeldungen) VALUES (NULL, '" . $adminname . "', '', '" . $server . "', '0')";
$insertquery = mysqli_query($con, $insert);
html 部分 adminlist.php:
<form name='einfuegen' action='adminlist.php' method='post'>
<table>
<tr>
<th>Name</th>
<th>Server</th>
</tr>
<tr>
<td><input name='adminname' value='' /></td>
<td><input name='server' value='' /></td>
<td><input type='submit' value='Einfügen' /></td>
</tr>
</table>
</form>
我也试过在表格下设置
$server = 0;
$adminname = 0;
并编辑了以上内容:
if(!empty($adminname && $server) && ($server != 0) && ($adminname != 0))
在这种情况下,它将不起作用,并且没有插入任何内容。如何设置只插入一个然后显示在列表中?
【问题讨论】:
插入数据后重新加载页面 请使用if(!empty($adminname) && !empty($server))
而不是if(!empty($adminname && $server))
@mapek 更好,只需使用 if($adminname && $server)
,因为这两个变量都已定义。
【参考方案1】:
将此if(!empty($adminname && $server))
更改为if(!empty($adminname) && !empty($server))
并且,不要不必要地连接插入值。
编辑的代码
if(!empty($adminname) && !empty($server))
$insert = "INSERT INTO admins (ID, Name, Passwort, Server, Anmeldungen) VALUES (NULL, '$adminname','', '$server', '0')";
$insertquery = mysqli_query($con, $insert);
对于 OP:
提交后使用header("location:adminlist.php");
进行重定向。
<?php
error_reporting(0);
if($_POST['submitValue'])
$adminname = mysqli_real_escape_string($con, $_POST['adminname']);
$server = mysqli_real_escape_string($con, $_POST['server']);
$insert = "INSERT INTO admins (ID, Name, Passwort, Server, Anmeldungen) VALUES (NULL, '$adminname','', '$server', '0')";
$insertquery = mysqli_query($con, $insert);
header("location:adminlist.php");
?>
<form name='einfuegen' action='' method='post'>
<table>
<tr>
<th>Name</th>
<th>Server</th>
</tr>
<tr>
<td><input name='adminname' value='' /></td>
<td><input name='server' value='' /></td>
<td><input type='submit' name='submitValue' value='Einfügen' /></td>
</tr>
</table>
</form>
【讨论】:
顺便说一句,你的个人资料是我在 SOF 上见过的最有趣的个人资料。根本没有严肃的事情。大声笑! 谢谢@AnandG Jee。Be Funny. Go Sunny
所以我不需要“ $server = 0; $adminname = 0;”在他的底部?
没有。不,不是那样的。为什么不必要地连接'" . $adminname . "'
。这不是错误。只是为了更好地编写代码。只有@JohnHSmith 让我觉得很轻松
但是刷新页面后如何删除表单中最后给定的单词?以上是关于PHP形式的mysql插入语句的主要内容,如果未能解决你的问题,请参考以下文章