php更新mysql一行不更新
不确定问题在哪里,我包括,尝试过但根本不工作,我尝试从数据库更新记录,但是在每个行都更新的情况下,只有第一行(名称)不更新,有人能帮忙吗?我将非常感激得到修复,我如何修复它谢谢你。以前有一个和id变量,我用GET传递它,但是我试图用name变量传递它,但不起作用php更新mysql一行不更新,php,row,Php,Row,不确定问题在哪里,我包括,尝试过但根本不工作,我尝试从数据库更新记录,但是在每个行都更新的情况下,只有第一行(名称)不更新,有人能帮忙吗?我将非常感激得到修复,我如何修复它谢谢你。以前有一个和id变量,我用GET传递它,但是我试图用name变量传递它,但不起作用 <!doctype html> <html> <head> <title>Update</title> </head> <style> input[ty
<!doctype html>
<html>
<head>
<title>Update</title>
</head>
<style>
input[type=text], select {
width: 100%;
padding: 8px;
border: 1px solid #ccc;
box-sizing: border-box;
}
input[type=submit] {
display:block;
margin:0 auto;
background-color: #4CAF50;
color: white;
padding: 14px 20px;
border: none;
cursor: pointer;
}
table {
font-size: 80%;
max-width: 500px;
margin: auto;
}
body {
margin: 0;
font-family: Arial, sans-serif;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
font-weight: bold;
background-color: #00ccff;
text-align: center;
}
li {
display: inline;
}
li a {
display: inline-block;
margin-right: -4px;
color: white;
text-align: center;
padding: 16px;
text-decoration: none;
}
li a:hover {
background-color: #c1f0f0;
}
</style>
<header>
<ul>
<li><a href="ad.php" style="text-decoration:none">Index</a>
<li><a href="add.php" style="text-decoration:none">Add</a>
<li><a href="list.php" style="text-decoration:none">Data</a>
<li><a href="edit.php" style="text-decoration:none">Edit</a>
</ul>
</header>
<br>
<body>
<?php
define("server", "server");
define("username", "username");
define("password", "password");
define("database", "bdatabase");
$conn = mysqli_connect(server, username, password, database);
if(!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$name = $_GET['name'];
$sql = "SELECT name, description, download1, download2, download3, download4, download5, download6, author, authorweb, runson, license, image, list FROM g WHERE name='$name'";
$result = mysqli_query($conn, $sql);
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$description = $_POST['description'];
$download1 = $_POST['download1'];
$download2 = $_POST['download2'];
$download3 = $_POST['download3'];
$download4 = $_POST['download4'];
$download5 = $_POST['download5'];
$download6 = $_POST['download6'];
$author = $_POST['author'];
$authorweb = $_POST['authorweb'];
$runson = $_POST['runson'];
$license = $_POST['license'];
$image = $_POST['image'];
$list = $_POST['list'];
$sql = "UPDATE g SET name='$name', description='$description', download1='$download1', download2='$download2', download3='$download3', download4='$download4', download5='$download5', download6='$download6', author='$author', authorweb='$authorweb', runson='$runson', license='$license', image='$image', date=CURRENT_TIMESTAMP, list='$list' WHERE name='$name'";
$result = mysqli_query($conn, $sql);
}
while($row = mysqli_fetch_assoc($result)) {
$name = $row['name'];
$description = $row['description'];
$download1 = $row['download1'];
$download2 = $row['download2'];
$download3 = $row['download3'];
$download4 = $row['download4'];
$download5 = $row['download5'];
$download6 = $row['download6'];
$author = $row['author'];
$authorweb = $row['authorweb'];
$license = $row['license'];
$runson = $row['runson'];
$image = $row['image'];
$list = $row['list'];
}
mysqli_close($conn);
?>
<form action="edit.php" method="post">
<table border="0" width="65">
<tbody>
<tr>
<td style="width: 65;">Name:</td>
<td style="width: 65;"><input name="name" id="textfield" size="65" type="text" value="<?php echo $name; ?>"></td>
</tr>
<tr>
<td style="width: 65;">Description:</td>
<td style="width: 65;"><textarea name="description" cols="46" rows="8" id="textarea"><?php echo $description; ?></textarea></td>
</tr>
<tr>
<td style="width: 65;">Download:</td>
<td style="width: 65;"><input name="download1" id="textfield" size="65" type="text" value="<?php echo $download1; ?>"</td>
</tr>
<tr>
<td style="width: 65;">Download:</td>
<td style="width: 65;"><input name="download2" id="textfield" size="65" type="text" value="<?php echo $download2; ?>"</td>
</tr>
<tr>
<td style="width: 65;">Download:</td>
<td style="width: 65;"><input name="download3" id="textfield" size="65" type="text" value="<?php echo $download3; ?>"</td>
</tr>
<tr>
<td style="width: 65;">Download:</td>
<td style="width: 65;"><input name="download4" id="textfield" size="65" type="text" value="<?php echo $download4; ?>"</td>
</tr>
<tr>
<td style="width: 65;">Download:</td>
<td style="width: 65;"><input name="download5" id="textfield" size="65" type="text" value="<?php echo $download5; ?>"</td>
</tr>
<tr>
<td style="width: 65;">Download:</td>
<td style="width: 65;"><input name="download6" id="textfield" size="65" type="text" value="<?php echo $download6; ?>"</td>
</tr>
<tr>
<td style="width: 65;">Author:</td>
<td style="width: 65;"><input name="author" id="textfield" size="65" type="text" value="<?php echo $author; ?>"></td>
</tr>
<tr>
<td style="width: 65;">Author Web:</td>
<td style="width: 65;"><input name="authorweb" id="textfield" size="65" type="text" value="<?php echo $authorweb; ?>"></td>
</tr>
<tr>
<td style="width: 65;">License:</td>
<td style="width: 65;"><input name="license" id="textfield" size="65" type="text" value="<?php echo $license; ?>"></td>
</tr>
<tr>
<td style="width: 65;">Runs on:</td>
<td style="width: 65;"><input name="runson" id="textfield" size="65" type="text" value="<?php echo $runson; ?>"></td>
</tr>
<tr>
<td style="width: 65;">Image location:</td>
<td style="width: 65;"><input name="image" id="textfield" size="65" type="text" value="<?php echo $image; ?>"></td>
</tr>
<tr>
<td style="width: 65;">List:</td>
<td style="width: 65;"><input name="list" id="textfield" size="65" type="text" value="<?php echo $list; ?>"></td>
</tr>
<tr>
<td><input type="hidden" name="id" value=<?php echo $_GET['name']; ?>></td>
</tr>
</tbody>
</table>
<input value="Submit" name="submit" type="submit">
</form>
<br>
</body>
</html>
检查是否未重新分配$name变量:
$name = $_POST['name'];
UPDATE g SET name='$name'
更改变量名并尝试将其传递给db:
$name_new = $_POST['name'];
UPDATE g SET name='$name_new'
当您不在db中插入某些内容而其他表插入时,最大可能的情况是您不传递任何内容,另一种情况是您的db“name”表没有为字符串分配任何内容,例如,如果您将“id”表的名称更改为“name”,它将不会保存字符串。尝试传递到db自定义“name”,而不是从变量传递,如
"UPDATE g SET name='somewords'
如果它保存了,那么问题就出在您的变量中;如果它没有保存,而其他人保存了,那么问题就出在您的表conf上执行UPDATE语句时,您知道您正在覆盖SELECT语句的结果吗?因此,在这种情况下,while循环将不起作用。您还完全可以使用while循环,而不是串联查询。特别是因为你根本没有逃避用户的输入!如果其他行发生更改,则是sb问题。检查“名称”行规格,如类型和长度。您是否使用“id”行?