1

行を mysql データベースに更新します。シナリオは次のとおりです。フォームから値を取得して別のファイルにリダイレクトし、更新ステートメントを使用してフォームの値をデータベースに設定します。問題は、mysql_query が値 1 を返し、エラーを返さないことですが、phpmyadmin を介してデータベースをチェックすると、データベースは影響を受けません。ここにコードがあります

<?php
    $host="localhost";
    $username="root";
    $password="";
    $db_name="login_takrim";
    $tbl_name="takrim_users";
    // Connect to server and select databse.
    mysql_connect("c$host","$username","$password") or die("can not connect");
    mysql_select_db($db_name) or die(mysql_error());
    // username and password sent from form 
    $myusername=$_POST["txtusername"];
    $mypassword=$_POST["txtpassword"];
    $myemail=$_POST["txtemail"];

    // To protect MySQL injection
    $myusername=stripslashes($myusername);
    $myemail=stripslashes($myemail);
    $mypassword=stripslashes($mypassword);
    $myemail=mysql_real_escape_string($myemail);
    $myusername=mysql_real_escape_string($myusername);
    $mypassword=mysql_real_escape_string($mypassword);
    echo "$myusername $mypassword $myemail";// test to see i get the form value on the php server.
    $sql="UPDATE $tbl_name SET username = '$myusername' and  password = '$mypassword' and email= '$myemail' where showname='hussein'";

    $result=mysql_query($sql) or die(mysql_error());//does not return error 
    echo $result;
    if($result==false)
    {
        echo "no";
    }
    else
    {
        //header("location:setEmail.php");
        echo "yes";

    }


?>
4

3 に答える 3

0

ここに余分なものがありcます(の前$host):

mysql_connect("c$host","$username","$password") or die("can not connect");
于 2013-11-06T17:51:16.343 に答える
0

UPDATEこのようにステートメントを変更します

$sql="UPDATE $tbl_name SET `username` = '$myusername',`password` = '$mypassword',`email`= '$myemail' where `showname`='hussein'";

免責事項: mysql_* 関数は非推奨であるため、使用を中止してください。代わりに MySQLi または PDO に切り替えてください。

于 2013-11-06T17:50:22.563 に答える