gpt4 book ai didi

php - 使用php更新mysql中的记录

转载 作者:行者123 更新时间:2023-11-29 07:22:04 25 4
gpt4 key购买 nike

    <?php
$conn = mysqli_connect ("localhost", "B00657633", "Jpr3EjPw")
or die ("could not connect: " . mysqli_error($conn));
print "successful connection<br>";

mysqli_select_db($conn, 'B00657633') or die ('db will not open');

header('Location: sql5_2.php');

$query = "UPDATE patient3 SET AGE=68 WHERE POST_CODE='bt667ed'";
$result = mysqli_query($conn, $query) or die ("Query is invalid");
$rownum = mysqli_num_rows($conn)
$col = mysqli_num_fields($conn);
echo "<table border='2'><tr><th>POST_CODE</th>";
for($i=0; $i<$rownum; $i++){
$rows = mysqli_fetch_row($result);
echo "<tr>";
for($j=0; $j<$col; $j++){
echo "<td>" . $rows[$j] . "</td>";
}
echo "</tr>";
}
echo "</table>";

$rownum = mysqli_affected_rows($conn);

echo $rownum . " Records have been updated.";

mysqli_close($conn);
?>

这是我网页的第一部分,第二部分如下:

<?php
$conn = mysqli_connect ("localhost", "B00657633", "Jpr3EjPw")
or die ("could not connect: " . mysqli_error($conn));
print "successful connection<br>";
mysqli_select_db($conn, 'B00657633') or die ('db will not open');

$query="SELECT * FROM patient3";
$result = mysqli_query($conn, $query) or die ("Query is invalid");
$num = mysqli_num_rows ($result);
$col = mysqli_num_fields ($result);

echo "<table border='2'><tr><th>PATNUM</th><th>PAT_FORENAME</th><th>PAT_SURNAME</th><th>STREET_ADDRESS</th><th>TOWN</th><th>POST_CODE</th><th>AGE</th>";
for($j=0; $j<$num; $j++){
$rows = mysqli_fetch_row($result);
echo "<tr>";
for($i=0; $i<$col; $i++){
echo "<td>" . $rows[$i] . "</td>";
}
echo "</tr>";
}
echo "</table>";

echo " Records have been updated.";

mysqli_close($conn);
?>

无论我尝试什么,它都不会让我更新 sql 中的任何信息。真的不知道我哪里错了,请帮助我。第二部分是显示我的 table 。与服务器的连接正常,但是一旦我单击刷新,表中就没有任何变化

最佳答案

编辑:现在我实际上找到了时间来测试/查看您的代码,我注意到了一些事情。

这是更新文件。

<?php

$conn = mysqli_connect ("localhost", "B00657633", "Jpr3EjPw")
or die ("could not connect: " . mysqli_error($conn));
print "successful connection<br>";

mysqli_select_db($conn, 'B00657633') or die ('db will not open');



$query = "UPDATE patient3 SET AGE=68 WHERE POST_CODE='bt667ed'";
$result = mysqli_query($conn, $query) or die ("Query is invalid");

$rownum = mysqli_affected_rows($conn);

echo $rownum . " Records have been1 updated.";


header('Location: sql5_2.php');

?>

这是 sql5_2.php 文件。

<?php
$conn = mysqli_connect ("localhost", "B00657633", "Jpr3EjPw")
or die ("could not connect: " . mysqli_error($conn));
print "successful connection<br>";
mysqli_select_db($conn, 'B00657633') or die ('db will not open');

$query="SELECT * FROM patient3";
$result = mysqli_query($conn, $query) or die ("Query is invalid");
$num = mysqli_num_rows ($result);
$col = mysqli_num_fields ($result);

echo "<table border='2'><tr><th>PATNUM</th><th>PAT_FORENAME</th><th>PAT_SURNAME</th><th>STREET_ADDRESS</th><th>TOWN</th><th>POST_CODE</th><th>AGE</th>";
for($j=0; $j<$num; $j++){
$rows = mysqli_fetch_row($result);
echo "<tr>";
for($i=0; $i<$col; $i++){
echo "<td>" . $rows[$i] . "</td>";
}
echo "</tr>";
}
echo "</table>";

echo " Records have been updated.";

mysqli_close($conn);
?>

在您的代码中,您做了一些事情。首先,您尝试将连接作为 num_rows/num_fields 方法的结果集传递。它们期望返回实际包含数据的值,例如来自选择查询的返回值。更新查询将返回 true 或 false,以及它影响了多少行。因此,即使在更新它以获取结果变量之后,它仍然尝试将 bool 值传递给方法。

你会注意到我将其更改为

mysqli_affected_rows()

它将检查执行查询的 mysqli_connect 对象受影响的行数。从那里,我们可以使用该变量来输出受影响的行数。

此外,您尝试从更新查询输出字段值,但该查询不会返回字段。在我的脑海中,您必须使用相同的参数运行选择查询来获取将更改的数据集,然后更新该集。这样,您可以使用第一个选择查询中的数据集来输出正在更改的行。

请记住,通过使用 header('Location: ') 您将重定向用户。因此,第一个文件中的任何输出都不会被看到,因为它们被发送到 sql5_2.php。

关于php - 使用php更新mysql中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35783121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com