Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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
如何从sql表PHP加载存储在单元格中的链接_Php_Sql - Fatal编程技术网

如何从sql表PHP加载存储在单元格中的链接

如何从sql表PHP加载存储在单元格中的链接,php,sql,Php,Sql,可能重复: 我试图通过php从sql表加载/生成存储在单元格中的链接。 但我得到了一个错误: 警告:simplexml_load_文件要求参数1为字符串,资源在。。。在线78 你们能告诉我哪里做错了吗 这是我的密码: $sql = "SELECT link FROM previousbroadcast WHERE id=21"; $result=mysql_query($sql); $xml = simplexml_load_file($result);

可能重复:

我试图通过php从sql表加载/生成存储在单元格中的链接。 但我得到了一个错误:

警告:simplexml_load_文件要求参数1为字符串,资源在。。。在线78

你们能告诉我哪里做错了吗

这是我的密码:

$sql = "SELECT link FROM previousbroadcast WHERE id=21";             
$result=mysql_query($sql);

$xml = simplexml_load_file($result);                            

$result变量是SQL结果集,而不是字符串。您必须使用类似mysql\u fetch\u array的函数从SQL结果中获取各个列的值

也许是这样的:

$sql = "SELECT link FROM previousbroadcast WHERE id=21";
$result=mysql_query($sql);

while($row = mysql_fetch_array($result)){
    $xml = simplexml_load_file($row[0]);
    break;
}

mysql\u查询返回一个语句句柄。您必须从该句柄获取一行并提取值:

$sql = "SELECT ..."
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$xml = simplexml_load_file($row['link']);
$result不是表中链接字段的值,而是ressource id

$sql = "SELECT link FROM previousbroadcast WHERE id=21";
$ressource=mysql_query($sql);  // remember, it's just the ressource
$result = mysql_fetch_array($ressource); // let's get this into an associative array

$xml = simplexml_load_file($result['link']); // and use the respective field in the array to fetch the XML

请注意,这是一段非常简单的代码,在尝试加载该文件之前,您应该确保该文件存在…

您需要首先获得结果。在$result变量中,只存储了一个SQL资源。要获取查询的实际内容,请使用$result\u array=mysql\u fetch\u array$result,它将返回一个包含数据的数组。然后可以调用simplexml\u load\u file$result\u array[0]函数。

mysql\u查询返回一个资源。用于访问内容。它们在文档中有示例

$sql = "SELECT link FROM previousbroadcast WHERE id = '21'";

$result = mysql_query($sql);
if(mysql_num_rows($result) >= 1) {
$row = mysql_fetch_array($result);
$xml = simplexml_load_file($row['previousbroadcast']);
}

首先,您应该用单引号来封装SQL参数。其次,使用mysql\u查询只返回一个句柄,您需要使用mysql\u fetch\u数组实际生成该结果的数组。您还应该添加一些错误捕获,如上所示。

非常感谢您的帮助。我尝试了这个方法,但它并没有只加载第21行中的链接,而是加载表中存在的所有链接。这是为什么?如果看不到更多的代码,就无法判断。