我一直在编写一个脚本来使用php从表单更新MySQL中的字段。
我有一个问题,当我尝试使用mysqli从php更新字段时,我的数据库没有任何变化。这是代码,我用2页。 Search.php
和Update.php
。
此代码显示了我的搜索结果,效果很好。
Search.php
$searchValue=$_GET["txtSearch"];
$connection=mysqli_connect($db_host, $db_user, $db_password, $db_name);
$query="select UserID, LastName, FirstName, UserName, Phone from User where UserID='$searchValue'";
$recordset=mysqli_query($connection, $query);
while($row=mysqli_fetch_array($recordset, MYSQLI_ASSOC))
{
$UserID=$row['UserID'];
$LastName = $row['LastName'];
$FirstName = $row['FirstName'];
$UserName = $row['UserName'];
$Phone=$row['Phone'];
echo "<form action='Update.php' method='get'>";
echo "<input type='text' name='txtUserID' value='$UserID' disabled> <br/> <br/>";
echo "<input type='text' name='txtLastName' value='$LastName'> <br/> <br/>";
echo "<input type='text' name='txtFirstName' value='$FirstName'> <br/> <br/>";
echo "<input type='text' name='txtUserName' value='$UserName'> <br/> <br/>";
echo "<input type='text' name='txtPhone' value='$Phone'> <br/> <br/>";
echo "<input type='submit' name='btnUpdate' value='Update Values' />";
echo "</form>";
}
问题出在这里,执行查询时数据库没有变化。我不知道原因。查询错了吗?或者还有另一种方法来使用INT字段作为参数在WHERE条件中从PHP更新字段?提前谢谢。
这是Update.php
$userID=$_GET["txtUserID"];
$lastName=$_GET["txtLastName"];
$firstName=$_GET["txtFirstName"];
$userName=$_GET["txtUserName"];
$phone=$_GET["txtPhone"];
$connection=mysqli_connect($db_host, $db_user, $db_password, $db_name);
$query="UPDATE User SET LastName='$lastName', FirstName='$firstName', UserName='$userName', Phone=$phone
WHERE UserID=$userID";
$recordset=mysqli_query($connection, $query);
echo "<h1> Succesfull Operation. </h1>";
答案 0 :(得分:1)
尝试使用这些:
let alphabet: [String: Int] = ["a": 0, "b": 1, "c": 2, "d": 3]
let validSet = CharacterSet.init(charactersIn: alphabet.keys.joined())
我认为你的mysqli的执行存在问题,这就是我使用mysqli的方式。
答案 1 :(得分:0)
您可以通过将最后一位代码更改为
来打印mysql错误 if (!($recordset=mysqli_query($connection, $query))) {
echo "<pre>Error:".mysqli_error($link)."</pre>";
}
并更好地了解错误。