これらのファイルを使用すると自分のデータベースに接続できません。ここで彼らはPHPコードです。設定ファイルを使用しているときにmysqlデータベースに接続できません
db_config.php
ファイル:
<?php
define('DB_USER', "root");
define('DB_PASSWORD', "mypassword");
define('DB_DATABASE', "mydbname");
define('DB_SERVER', "localhost");
?>
db_connect.php
ファイル:
<?php
class DB_CONNECT
{
//constructor
function __construct()
{
$this->connect();
}
//destructor
function __destruct()
{
$this.close();
}
function connect()
{
// import database connection variables
require_once __DIR__ . '/db_config.php';
$con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error());
$db = mysql_select_db(DB_DATABASE) or die(mysql_error());
// returing connection cursor
return $con;
}
function close()
{
//closing db connection
mysql_close();
}
}
?>
add_team.php
ファイル:
<?php
$response = array();
if(isset($_POST['team_full_name']) && isset($_POST['team_short_name']) && isset($_POST['league']))
{
$team_fn = $_POST['team_full_name'];
$team_sn = $_POST['team_short_name'];
$league = $_POST['league'];
require_once __DIR__ . '/db_connect.php';
$db = new DB_CONNECT();
$result = mysql_query("INSERT INTO teamData (team_full_name, team_short_name, league) VALUES ('$team_fn', '$team_sn', '$league')");
if($result)
{
$response["success"] = 1;
$response["message"] = "Team Data successfully added.";
echo json_encode($response);
}
else
{
$response["success"] = 0;
$response["message"] = "Error occurred!";
echo json_encode($response);
}
//for testing
//mysql_close($dbhandle);
}
else
{
$response["success"] = 0;
$response["message"] = "Required field(s) is missing.";
echo json_encode($response);
}
?>
私はadd_team.php
ファイルを実行するために、これらのファイルを使用して、私のプログラムクラッシュします(Javaで使用します)。それは完璧に動作
<?php
$response = array();
if(isset($_POST['team_full_name']) && isset($_POST['team_short_name']) && isset($_POST['league']))
{
$team_fn = $_POST['team_full_name'];
$team_sn = $_POST['team_short_name'];
$league = $_POST['league'];
$dbhandle = mysql_connect("localhost", "root", "mypassword") or die ("unable to connect to MySQL");
$db = mysql_select_db("mydbname", $dbhandle);
$result = mysql_query("INSERT INTO teamData (team_full_name, team_short_name, league) VALUES ('$team_fn', '$team_sn', '$league')");
if($result)
{
$response["success"] = 1;
$response["message"] = "Team Data successfully added.";
echo json_encode($response);
}
else
{
$response["success"] = 0;
$response["message"] = "Error occurred!";
echo json_encode($response);
}
mysql_close($dbhandle);
}
else
{
$response["success"] = 0;
$response["message"] = "Required field(s) is missing.";
echo json_encode($response);
}
?>
:私はadd_team.php
ファイルを変更した場合でも、このようなDB_CONNECT
クラスを使用しないように。私はチュートリアルに従っていましたが、動作しないバージョンは、その男がそれを設定する方法を示しています。私は間違って何をしていますか?私はphpに新しいので、あなたが陳述されている文を見たら私を許してください、私は後でそれらを変更します。私はそれらを使用しています。私が従っていたチュートリアルはかなり古く、非推奨の代替方法の使用方法はまだ分かりません。
また、DB_CONNECT
クラスでこの設定ファイルの設定が好きです。なぜなら、データベーストランザクションを実行するphpファイルに自分のデータベースパスワードをハードコードする必要がないからです。これは動作するバージョンより少し安全だと思われます。だから私はより良いバージョンの作業を得ることができる場合、これは良い設定ですか?一度に複数の挿入、更新、削除などをしたいのであれば、データベーストランザクションを実行するPHPファイルの1つを呼び出すたびに再接続して切断する必要がありますか?
あなたの 'DB_CONNECT'クラスで、' mysql_ * '関数で' mysqli'オブジェクトを使用しているのは普通ですか? – Aurel
@Aurelオハイオ州私は持っていた元の方法にそれを変更するのを忘れました。私は別のものをテストしていた。しかし、まだそれは動作していませんでした。私はそれをより一貫性を保つために持っていた元の方法に戻します。 –
'oops'と' procedural'フォーマットを混在させる理由は、クラスを作成する必要がないときにそのクラスを呼び出すことですか?なぜ??? – itzmukeshy7