Php/MySQL:无法仅插入一行
我正在尝试创建一个页面,允许用户输入他将要执行的特定任务的步骤。然而,每当我提交一个步骤时,就会在mysql数据库中存储多个类似的记录。因此,如果我在mysql数据库中键入“Do this”,两条记录将使用相同的数据存储 这是我的密码Php/MySQL:无法仅插入一行,php,mysql,sql,database,Php,Mysql,Sql,Database,我正在尝试创建一个页面,允许用户输入他将要执行的特定任务的步骤。然而,每当我提交一个步骤时,就会在mysql数据库中存储多个类似的记录。因此,如果我在mysql数据库中键入“Do this”,两条记录将使用相同的数据存储 这是我的密码 <?php $conn = new mysqli("localhost", "root","","KFC"); if(isset($_POST['Submit_btn'])) { session_start(); $var_value = $_
<?php
$conn = new mysqli("localhost", "root","","KFC");
if(isset($_POST['Submit_btn']))
{
session_start();
$var_value = $_SESSION['R_ID'];
$Name= mysqli_real_escape_string($conn, $_POST['Step']);
$sql= "INSERT INTO `step`(`Step`, `R_ID`) VALUES ('$Name','$var_value')";
mysqli_query($conn,$sql);
if (!mysqli_query($conn,$sql))
{
echo("Error description: " . mysqli_error($conn));
}
}
mysqli_close($conn);
?>
<html>
<body>
<div id="bodyContent">
<h1> Submit Steps </h1>
</div>
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('garden');
$result = mysql_query("SELECT * FROM step WHERE R_ID='$var_value'");
$rows = mysql_num_rows($result);
echo "So far you have submitted " . $rows . " steps for your recipe.";
?>
<form method="post">
<table>
<tr>
<td>STEP: </td>
<td>
<textarea type="text" name="Step" class="textInput"></textarea>
</td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" name="Submit_btn" value="submit">
</td>
<td>
<input type="submit" name="Continue_btn" value="Continue">
</td>
</tr>
</table>
</form>
</body>
</html>
您正在运行两次执行查询
mysqli_query($conn,$sql);
此指令执行您拥有的insert查询。执行一次,然后再次执行以验证函数的布尔返回值。您只需要使用验证行
这就是你所拥有的:
mysqli_query($conn,$sql);
if (!mysqli_query($conn,$sql))
{
echo("Error description: " . mysqli_error($conn));
}
您只需要:
if (!mysqli_query($conn,$sql))
{
echo("Error description: " . mysqli_error($conn));
}
验证行将执行函数并返回所需的布尔值。您将执行两次查询。删除一个如何执行两次:/?第一个用于插入,第二个用于viewing@AkintundeOlawale^mysqli_查询($conn,$sql);如果(!mysqli_query($conn,$sql))
=twice您也可以在同一脚本中无故使用mysql
和myqli
。建立2 db连接等,乐于帮助;)