我的PHP需要一些帮助。我在从数据库中获取数据时遇到了麻烦。我聘请了一位PHP开发人员,他没有正确地完成他的工作,他搞砸了代码,这使得它无法工作,所以我需要一些帮助来解决问题,让它再次运行。
当我尝试这个时:
//open the database File
$db = new SQLite3('myChannel.db');
if(!$db)
{
echo $db->lastErrorMsg();
}
else
{
$channel_name = $_GET['channels'];
$sql ="SELECT channel, title, start_date, stop_date, description FROM programs WHERE channel='$channel_name'";
$results = $db->query($sql);
while ($row = $results->fetchArray())
{
print_r($row);
}
代码会发生什么,它不会从数据库中提取匹配的数据,因为它不会做任何事情。我认为$ sql变量有问题。
我期待做的是我想在数据库中查找我使用名为$channel_name
的变量的数据,然后我想获取匹配的数据以在我的PHP中输出它们。 / p>
您能帮我解决一下如何获取数据库中的匹配数据吗?
答案 0 :(得分:1)
class MyDB extends SQLite3 {
function __construct() {
$this->open('myChannel.db');
}
}
$db = new MyDB();
if (!$db) {
echo $db->lastErrorMsg();
} else {
$channel_name = $_GET['channels'];
$sql = "SELECT channel, title, start_date, stop_date, description FROM programs WHERE channel='{$channel_name}'";
$results = $db->query($sql);
while($row = $results->fetchArray(SQLITE3_ASSOC) ) {
print_r($row);
}
}
我改变了一些事情。我将您的数据库连接转换为一个类,我改变了您的时间以包含SQLITE3_ASSOC
。
警告:OP的代码,因此这个答案的代码是 容易受到SQL注入!