我正在学习PHP并正在编写一个连接到我的数据库并提取一些数据的脚本。
我在localhost上运行的网站是一个PHP驱动的CMS。
脚本的一部分在这里
DEFINE ('DB_USER','myname');
DEFINE ('DB_PASSWORD','somepass123');
DEFINE ('DB_HOST','localhost');
DEFINE ('DB_NAME','sitename');
// make the db connection
$dbc = @mysqli_connect('DB_HOST','DB_USER','DB_PASSWORD','DB_NAME')
OR die ('Could not connect to mysql: ' . mysqli_connect_error());
当我加载一个利用PHP的页面时,我收到以下错误,其中输出数据应该是:
无法连接到mysql:未知的MySQL服务器主机' DB_HOST' (1)
我做了一些关于SO和一些谷歌搜索的研究。可疑问题可能是DB_HOST在别处定义。这看起来有道理吗?我没有足够的经验知道这是不是正确的道路。
我在config / database.php文件中找到了这个,我不确定它是否相关:
$config['default'] = array(
'benchmark' => TRUE,
'persistent' => FALSE,
'connection' => array(
'type' => 'mysqli',
'user' => 'myname',
'pass' => 'somepass123',
'host' => 'localhost',
'port' => FALSE,
'socket' => FALSE,
'database' => 'sitename',
我如何处理后续步骤?这是一个常见错误吗?有没有人有任何指示?
答案 0 :(得分:4)
你需要在常量周围删除单引号:
$dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME)
OR die ('Could not connect to mysql: ' . mysqli_connect_error());
您还应该避免在功能面前使用@
。如果您希望抑制错误,请使用正确的错误处理。