0

データが送信されてデータベースに挿入された後、ユーザーが php プログラムから入力した情報を表示しようとしています。実行すると、結果が表示されません。空白のページが表示されます。コードにエラーが見つかりません。修正して先に進むことができるように、見つけていただけると幸いです。これは、DB にいくつかの情報を挿入し、挿入したものを表示したいコードの一部にすぎません...

if ( $valid ) { 
    $lines = file('/home/user/Documents/file.txt');
    $uid = trim($lines[0]);
    $pw = trim($lines[1]);
    $dbserver = trim($lines[2]);
    $dbname = trim($lines[3]);

    //Connecting to mysql
    $link = mysqli_connect($dbserver, $uid, $pw, $dbname);
    or die('Could not connect: ' . mysql_error());

    //Our SQL Query
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $organization = $_POST['organization'];
    $emailaddress = $_POST['emailaddress'];
    $phonenumber = $_POST['phonenumber'];
    $sql_query = "INSERT INTO table VALUES ('$firstname','$lastname','$organization','$emailaddress','$phonenumber')";

        //Run our sql query
    $result = mysqli_query($link, $sql_query) or die('query failed'. mysql_error());

    // Get all records now in DB
    $sql_query = "SELECT * FROM table";
    //Run our sql query
    $result = mysqli_query($link, $sql_query) or die('query failed'. mysql_error());

    //iterate through result printing each record
    echo "<br>Names in DB: <br>";
    while($row = mysqli_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['organization']; 
    echo $row['emailaddress'];
    echo $row['phonenumber'];
    echo "<br>";
    }

    // Free resultset (optional)
    mysqli_free_result($result);

    //Close the MySQL Link
    mysqli_close($link);
    }
}
4

2 に答える 2

0

$sql_query=を変更します"INSERT INTO table VALUES $firstname','$lastname','$organization','$emailaddress','$phonenumber')";

$sql_query = "INSERT INTO table VALUES ($firstname','$lastname','$organization','$emailaddress','$phonenumber')";

また、作成しているコードは非常に安全ではなく、SQLインジェクションによって簡単に攻撃される可能性があります。

Mysql_*関数の内部にあるMySQLiまたはPDOを学ぶために少し時間がかかります。以下は、mysqliでパラメーター化されたクエリを使用した基本的なクエリです。

$ query = $ mysqli-> prepare( "SELECT COLUMN_LIST FROM TABLE WHERE COLUMN =?"); $ query-> bind_param('s'、$ UNSAFE_VARIABLE); $ query-> execute();

于 2013-02-08T19:48:24.390 に答える
0

代わりに廃止されたmysql関数を使用することを主張する場合、探しているのはmysqli_insertid です。同様の関数があると確信しています。

于 2013-02-08T19:48:27.383 に答える