私はデータベースを更新する必要があります。問題は次のとおりです。私が更新したい "id"またはユーザーを読み込むことはできません。私が "id"にしたがってユーザを選ぶと、アプリケーションはそのユーザを見つけられず、ユーザも見つけられません。私はこの問題を解決することを知らない。ご協力ありがとうございます。 PHPコード:PHPを使用してSQLデータベーステーブルを更新するにはどうすればよいですか?
<?php
$id_user=$_GET['id'];
$server_name="localhost";
$db_user_name="root";
$password="root";
$db_name="prva";
$connection=mysqli_connect($server_name, $db_user_name,$password,$db_name);
if($connection) {
echo 'Connected';}
if($_SERVER['REQUEST_METHOD'] == 'GET' && $_GET['edit_user_form']){
$user_name = $_GET['user_name'];
$user_surname = $_GET['user_surname'];
if(preg_match('#^.{0,50}$#', $user_name) &&
preg_match('#^.{1,50}$#', $user_surname)){
$sql_query = "UPDATE users SET user_name=";
if($user_name){
$sql_query .= "'".$user_name."',";
}else{
$sql_query .= "NULL,";
}
$sql_query .= "user_surname='".$user_surname."'";
$sql_query .= " WHERE id=".$id_user.";";
$result = mysqli_query($connection, $sql_query);
if ($result) {
echo '<p class="success">Updated</p>';
}else{
echo '<p class="error">Error</p>';
}
// echo "Error: " . $sql_query . "<br>" . mysqli_error($connection);
}else{
echo '<p class="error">Wrong data </p>';
}
}
if($id_user){
$sql_query = "SELECT * FROM users WHERE id=".$id_user.";";
$result = mysqli_query($connection, $sql_query);
if (mysqli_num_rows($result) > 0) {
$data = mysqli_fetch_assoc($result);
$user_name = $data[0]['user_name'];
$user_surname = $data[0]['user_surname'];?>
形が見えます:
<form class="contact_form" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="get">
<label for="user_name">Name</label>
<input type="text" name="user_name" id="user_name" value="<?php echo $user_name;?>">
<label for="user_surname">Surname</label>
<input type="text" name="user_surname" id="user_surname" value="<?php echo $user_surname;?>">
<input type="submit" name="edit_user_form" value="Update">
<input type="hidden" name="id_user" value="<?php echo $id_user;?>">
</form>
とPHPコード(残り):
<?php
}else{
echo '<p class="error">Data for editing are not loaded .</p>';
}
}else{
echo '<p class="error">Parameter of user is not loaded .</p>';
}?>
あなたは既存のものを更新していない、新しいユーザーを追加しているようですね、それゆえノーがあります'id'。 – Forbs
コードを追加するのを忘れました - $ sql_query = "UPDATE users SET user_name ="; 上記の - if($ user_name){sql_query。= "'"。$ user_name。 "、"; ....まだ動作しません。 –
'$結果= mysqli_query($接続、$ sql_query); if(mysqli_query($ connection、$ sql_query)){'ここで2回クエリを実行していますが、理論的にはエラーとして '1'が返されます。 –