Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL抓取不返回任何内容_Php_Mysql_Fetch - Fatal编程技术网

Php MySQL抓取不返回任何内容

Php MySQL抓取不返回任何内容,php,mysql,fetch,Php,Mysql,Fetch,我想从MySQL获取基于URL的内容。 例如,当URL为/index.php?Name=FAQ时,显示整个FAQ。 我怎么解决这个问题 <?php require("configish.php"); mysql_connect("$hosty", "$uname", "$paswd") or die ("Cannot connect"); mysql_select_db("$dbnme") or die ("Cannot select database"); $url = $_GET[

我想从MySQL获取基于URL的内容。 例如,当URL为
/index.php?Name=FAQ
时,显示整个FAQ。 我怎么解决这个问题

<?php
require("configish.php");

mysql_connect("$hosty", "$uname", "$paswd") or die ("Cannot connect");
mysql_select_db("$dbnme") or die ("Cannot select database");

$url = $_GET['Name'];
$sql="SELECT * FROM Pages WHERE Name='".$url."'";
$result=mysql_query($sql) or die(mysql_error());
mysql_close();

while($res = mysql_fetch_array($result)) {
    echo $res->Content;
}
?>

var\u dump($res)
它是一个数组。不是一个物体。不要使用mysql,因为它已经过时了。使用
mysqli.*
var\u dump($res)
它是一个数组。不是一个物体。不要使用mysql,因为它已经过时了。使用
mysqli.*

如果要使用对象表示法,则需要调用
mysql\u fetch\u项目()

不要在查询后关闭MySQL连接,因为您仍然需要该连接来检索结果集

如果必须使用
mysql.*
库,请确保使用
mysql\u real\u escape\u string()
防止SQL注入。最好切换到或并使用预先准备好的语句


另外,
或die(mysql_error())
是非常糟糕的做法。您应该通过测试
mysql\u query()

中的
false
返回值来正确处理错误。如果要使用对象表示法,则需要调用
mysql\u fetch\u object()

不要在查询后关闭MySQL连接,因为您仍然需要该连接来检索结果集

如果必须使用
mysql.*
库,请确保使用
mysql\u real\u escape\u string()
防止SQL注入。最好切换到或并使用预先准备好的语句

另外,
或die(mysql_error())
是非常糟糕的做法。您应该通过测试来自
mysql\u query()
false
返回值来正确处理错误

  • 确保
    $url
    不是空的
  • 不能在数组中执行
    $res->content
    (如果
    $res
    是一个对象,而
    $res
    是一个数组,则这是正确的)。改用
    $res['Content']
  • 确保
    $url
    不是空的
  • 不能在数组中执行
    $res->content
    (如果
    $res
    是一个对象,而
    $res
    是一个数组,则这是正确的)。改用
    $res['Content']
  • 
    
    像这样使用。你引用了变量。为什么?

    
    
    <?php
    require("configish.php");
    
    // DON'T QUOTE VARIABLES, IT'S UNNECESSARY
    mysql_connect($hosty, $uname, $paswd) or die ("Cannot connect");
    mysql_select_db($dbnme) or die ("Cannot select database");
    
    // ESCAPE YOUR VALUES!!! CAN'T PUT ENOUGH !!! ON THIS!!!!
    $url = mysql_real_escape_string($_GET['Name']);
    $sql = "SELECT * FROM Pages WHERE Name='$url'";
    $result = mysql_query($sql) or die(mysql_error());
    
    // DON'T CLOSE YOUR CONNECTION BEFORE YOU FETCHED YOUR DATA
    //mysql_close();
    
    while ($res = mysql_fetch_assoc($result)) {
        // ACCESS AS ARRAY IF YOU'RE FETCHING AS ARRAY
        echo $res['Content'];
    }
    

    像这样使用。你引用了变量。为什么?

    你应该试试这个代码

    <?php
    require("configish.php");
    
    // DON'T QUOTE VARIABLES, IT'S UNNECESSARY
    mysql_connect($hosty, $uname, $paswd) or die ("Cannot connect");
    mysql_select_db($dbnme) or die ("Cannot select database");
    
    // ESCAPE YOUR VALUES!!! CAN'T PUT ENOUGH !!! ON THIS!!!!
    $url = mysql_real_escape_string($_GET['Name']);
    $sql = "SELECT * FROM Pages WHERE Name='$url'";
    $result = mysql_query($sql) or die(mysql_error());
    
    // DON'T CLOSE YOUR CONNECTION BEFORE YOU FETCHED YOUR DATA
    //mysql_close();
    
    while ($res = mysql_fetch_assoc($result)) {
        // ACCESS AS ARRAY IF YOU'RE FETCHING AS ARRAY
        echo $res['Content'];
    }
    
    <?php
    require("configish.php");
    
    mysql_connect("$hosty", "$uname", "$paswd") or die ("Cannot connect");
    mysql_select_db("$dbnme") or die ("Cannot select database");
    
    $url = mysql_real_escape_string($_GET['Name']);
    
    $sql="SELECT * FROM Pages WHERE Name='".$url."'";
    $result=mysql_query($sql) or die(mysql_error());
    
    while($res = mysql_fetch_array($result)) {
        echo $res['tableColumnName'];
    }    
    
        mysql_close();
    
    ?>
    

    您应该试试这段代码

    <?php
    require("configish.php");
    
    mysql_connect("$hosty", "$uname", "$paswd") or die ("Cannot connect");
    mysql_select_db("$dbnme") or die ("Cannot select database");
    
    $url = mysql_real_escape_string($_GET['Name']);
    
    $sql="SELECT * FROM Pages WHERE Name='".$url."'";
    $result=mysql_query($sql) or die(mysql_error());
    
    while($res = mysql_fetch_array($result)) {
        echo $res['tableColumnName'];
    }    
    
        mysql_close();
    
    ?>
    
    
    
    1)有什么问题?2) 你对SQL注入开放!!!3) “弃用”表示“现在请不要用于新事物”;这与您现在使用的PHP版本无关。4) 不要做
    “$var”
    ,只要
    $var
    就可以了。可能重复1)有什么问题?2) 你对SQL注入开放!!!3) “弃用”表示“现在请不要用于新事物”;这与您现在使用的PHP版本无关。4) 不要做
    “$var”
    ,只要
    $var
    就可以了。这个可能的重复解决了我的问题,但我不能再标记6分钟。这解决了我的问题,但我不能再标记6分钟。