1

約 1 時間前に独自のスクリプトのコーディングを開始したばかりで、修正方法がわからないというエラーに遭遇しました。PHP テーブルを実行すると、何らかの理由で、ユーザー名を除いてすべてが正しく解析されているようです。 create script config.php からユーザー名を解析するのではなく、ユーザー名なしでスクリプトを実行します。

私はphpcodechecker.com/にコードを入れましたが、何も与えられず、警告さえもありませんでした。本当にかなり混乱しています。コードは私には問題ないように見えますが、私はこれにかなり慣れていないので、おそらく何か大きなものを見逃しています、どんな助けでも大歓迎です。

このコードは、接続しようとしたときに createtable.php までユーザー名を解析しないのはなぜですか??

問題のコード スニペット。スタックがコード ブロックをフォーマットする方法は、私を混乱させるので、pastebin を使用します。

config.php

createtable.php

4

1 に答える 1

1

これは、ミックスmysqlimysqlAPI がconfig.phpまったく接続されないためです。

mysqli_connect($db_hostname, $db_username, $db_password)

mysql_select_db($db_database) 

mysqli を使用してデータベースへの正しい接続を拡張するには (mysql_*関数は非推奨であるため、これを使用する方が明らかに優れています)、次のようにします。

$mysqli = new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Connect Error: ' . $mysqli->connect_errno);
}

ここでドキュメントを確認できます

config.php接続を必要とする他のスクリプトから接続を使用できることを追加したいと思います。

require('config.php');

だからあなたcreatables.phpはこのように見えます

require("config.php");

$sql="CREATE TABLE quoter (
    id int NOT NULL AUTO_INCREMENT,
    quote text NOT NULL,
    quoteby CHAR(50) NOT NULL,
    PIMARY KEY (id)
    )";

if (mysqli_query($mysqli,$sql))
{
    echo "Table 'quoter' was created sucessfully";
}
else
{
    echo "Error creating table 'quoter': ".mysqli_error($mysqli);
}

そしてあなたのconfig.php

$mysqli = new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Connect Error: ' . $mysqli->connect_errno);
}

$mysqliこれは接続を処理するパラメーターであるため、データベースで操作を実行するときにこれを渡す必要があることに注意してください。

mysqli_query($mysqli,$sql);
           //^here it is
于 2013-05-31T08:20:57.747 に答える