php - 资源 ID #5 : MySQL

标签 php mysql database

<?php
//Sessions starten
session_start();
//Include stuff
include('conf.php');
//'Shortcuts' maken
$sname = $site['name'];
$shost = $site['host'];
$shostb = $site['hostb'];
//Verbinding maken met DB
$link = mysql_connect($database['host'], $database['username'], $database['password']) or die (mysql_error());
mysql_select_db($database['db'],$link) or die(mysql_error());
//Gegevens uit db halen
if(isset($_GET['page'])){
    $page['title'] = mysql_query("SELECT title FROM pages WHERE page = $_GET[page]");
}
else{
    $page['title'] = mysql_query("SELECT title FROM pages WHERE page = 'index.php'");
}
?>
<!doctype html>
<html lang="nl">
<head>
    <meta charset="utf-8" />
    <title><?php echo $sname;?>•<?php echo $page['title']?></title>

有人知道为什么这行不通吗?我的数据库结构是:

page |title

index.php|index

抱歉,我没弄清楚。 $page['title'] = resource(5) 的 var dump 类型(mysql 结果)。我怎样才能解决这个问题?感谢您的帮助。

最佳答案

mysql_query返回一个资源,你需要使用 mysql_fetch_array (或类似的,例如 mysql_fetch_assoc )在资源上获取标题值。

例如:

$res = mysql_query("SELECT title FROM pages WHERE page = 'index.php'");
$page = mysql_fetch_assoc($res);

// $page['title'] now contains the value (assuming there's an index.php page in the DB).

警告:您的查询容易受到 SQL 注入(inject)攻击。

关于php - 资源 ID #5 : MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9795422/

相关文章:

数据库设计,大量参数,非规范化?

php - Wordpress wp_options 表定期损坏

php - 为什么 iterator_apply 示例中需要第三个参数

php - Cakephp语言翻译不打印值

php - 如何将 MySQL 数据库移动到新结构?!任何工具?

database - 同步不同的数据库 - django

javascript - 使用多级对象在 javascript 中发布请求

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

Mysql 多选中的总计总和

mysql - 数据库为一所功能性学校设计一个简单的数据库