我正在为网站制作搜索引擎,之前我从未使用过PHP,而且我一直尝试使用以下代码将我的网页连接到mysql数据库:
$dbhost = 'hosthere';
$dbuser = 'usernamehere';
$dbpass = 'passwordhere';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
但我也读过不要使用mysql_ *函数,因为它们很快就会无法使用,但我还没有在其他任何地方看到它。
我要连接的旧代码是:
define('DB_SERVER', 'serverhere');
define('DB_SERVER_USERNAME', 'usernamehere');
define('DB_SERVER_PASSWORD', 'passwordhere');
define('DB_DATABASE', 'databasehere');
define('STORE_DB_TRANSACTIONS', 0);
define('DEBUG', 0);
db_connect() or die('Unable to connect to database server!');
我应该坚持使用它还是使用顶部的代码?
答案 0 :(得分:3)
在这里,使用PDO。
define("SQLHOST", "127.0.0.1");
define("SQLUSER", "login");
define("SQLPASS", "password");
define("SQLSGBD", "database");
$conn = new PDO('mysql:host=' . SQLHOST . ';dbname=' . SQLSGBD . ';charset=UTF8', SQLUSER, SQLPASS);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql1 = 'SELECT * FROM table where field1=?';
$stmt1 = $conn->prepare($sql1);
$field1="test";
$stmt1->bindParam(1, $field1, PDO::PARAM_STR);
try {
$stmt1->execute();
$result = $stmt1->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
if ($showError === true) {
var_dump("error query 1:" . __LINE__ . "-------" . __FUNCTION__ . "-------" . $e->getMessage());
exit;
}
}
答案 1 :(得分:0)
http://php.net/manual/en/function.mysql-connect.php
解释了这一点您应该使用其中一个扩展名:MySQLi或PDO_MySQL
使用MySQLi,您基本上将i添加到新版本的代码中(不要使用旧代码),可以在此处找到更多信息:http://php.net/manual/en/function.mysqli-connect.php。 否则请查看http://php.net/manual/en/pdo.construct.php
希望这有帮助。