我是 mysqli 的新手,正在学习来自 http://www.binpress.com/tutorial/using-php-with-mysql-the-right-way/17#comment1 的教程。
我能够使用这个连接到我的数据库:
$config = parse_ini_file('../config.ini');
$connection = mysqli_connect('localhost',$config['username'],$config['password'],$config['dbname']);
if($connection === false) {
die('Connection failed [' . $db->connect_error . ']');
}
echo("hello"); //this worked!
但后来我尝试将它包装在一个函数中(如本教程中所讨论的)...我看到您从另一个函数调用连接函数...在本教程中,每个函数不断被另一个和另一个调用.. .而且我从来没有完全找到初始调用从哪里开始以获得函数相互调用的多米诺骨牌效应..所以无论如何,我试图在两点停止它只是为了测试和自学..但它不起作用而且我没有知道为什么:
function db_connect() {
static $connection;
if(!isset($connection)) {
$config = parse_ini_file('../config.ini');
$connection = mysqli_connect('localhost',$config['username'],$config['password'],$config['dbname']);
}
if($connection === false) {
return mysqli_connect_error();
}
return $connection;
echo("hello2");
}
function db_query($query) {
$connection = db_connect();
$result = mysqli_query($connection,$query);
return $result;
echo("hello1");
}
db_query("SELECT `Q1_Q`,`Q1_AnsA` FROM `Game1_RollarCoaster`"); //this didn't work :(
最佳答案
好吧,我最终将它从函数中取出并使代码 super 简单(坚持使用过程而不是 OOP,即使很多教程使用 OOP - 我认为以这种方式开始更好):
<?php
$config = parse_ini_file('../config.ini');
$link = mysqli_connect('localhost',$config['username'],$config['password'],$config['dbname']);
if(mysqli_connect_errno()){
echo mysqli_connect_error();
}
$query = "SELECT * FROM Game1_RollarCoaster";
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_array($result)) {
echo $row[Q1_Q] . '<-- Here is your question! ' . $row[Q1_AnsA] . '<-- Here is your answer! ';
echo '<br />';
}
mysqli_free_result($result);
mysqli_close($link);
?>
关于php - mysqli连接和查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28903302/