资源ID#5:MySQL [英] Resource id #5: MySQL

查看:75
本文介绍了资源ID#5:MySQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 <?php 
//会话启动
session_start();
//包含内容
include(’conf.php’);
//快捷方式 maken
$ sname = $ site [’name’];
$ shost = $ site [’host’];
$ shostb = $ site [’hostb’];
//绑定数据库
$ link = mysql_connect($ database ['host'],$ database ['username'],$ database ['password'])或死掉(mysql_error()) ;
mysql_select_db($ database [’db’],$ link)或die(mysql_error());
// Gegevens uit db halen
if(isset($ set _ $ ['page'])){
$ page ['title'] = mysql_query(从页面中选择标题,而页面= $ _GET [page]);
}
else {
$ page [’title’] = mysql_query(从页面中选择标题,而页面='index.php');
}
?>
<!doctype html>
< html lang = nl>
< head>
< meta charset = utf-8 />
< title><?php echo $ sname;?>•<?php echo $ page [’title']?>< / title>

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


页面|标题



index.php | index


对不起,我不清楚。 $ page ['title'] =类型的resource(5) dump 变量(mysql结果)。我怎样才能解决这个问题?谢谢您的帮助。

解决方案

mysql_query 返回一个资源,您需要使用 mysql_fetch_array (或类似名称,例如 mysql_fetch_assoc )以获取标题值。



例如:

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

// $ page ['title']现在包含该值(假设数据库中有一个index.php页面)。

警告:您的查询容易受到SQL注入的攻击。<​​/ p>

<?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>

Does somebody know why this doesn't work? My DB structure is:

page |title

index.php|index

Sorry but I can't get this clear. The var dump of $page['title'] = resource(5) of type (mysql result). How can I fix this? Thanks for the help.

解决方案

mysql_query returns a resource, you need to use mysql_fetch_array (or similar, e.g. mysql_fetch_assoc) on the resource to get the title value.

For example:

$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).

Warning: your query is vulnerable to SQL injection.

这篇关于资源ID#5:MySQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆