mysql_fetch_array():“提供的参数不是有效的MYSQL”,带有单个参数

时间:2013-04-18 14:44:07

标签: php mysql

<?php
   $slug = $_GET['artist'];

//Connection details
$con=mysql_connect("localhost","username","password","mydatabase");
// Check connection
if (!$con) {echo "Failed to connect to MySQL"; exit; };


 $result = mysql_query("SELECT * FROM band WHERE slug ='.$slug.'",$con);

$row = mysql_fetch_array($result);

echo $row[1].'<br>';
echo $row[2].'<br>';
echo $row[3].'<br>';
echo $row[4].'<br>';  
   ?>

我不能为我的生活弄清楚为什么提取阵列有问题。就像一个FYI,$ _GET请求是在另一个网页的url中获取artist变量,然后我希望通过MYSQL作为查询传递该变量,以获取具有相同数据的记录在$艺术家,因为它在乐队表的slug属性。

2 个答案:

答案 0 :(得分:0)

将SQL查询更改为

 $result = mysql_query("SELECT * FROM band WHERE slug='$slug'", $con);

不需要.

另请注意,自PHP 5.5.0起,不推荐使用mysql_ *函数,将来会删除它们。 http://php.net/manual/en/function.mysql-query.php

答案 1 :(得分:0)

我在这里为您改进了代码。试试吧。

<?php
if(!isset($_GET) or empty($_GET)) {echo 'Get Artist if not found'; }
   $slug = $_GET['artist'];

mysql_connect("localhost","username","password","mydatabase") or die(mysql_error());
$result = mysql_query("SELECT * FROM band WHERE slug ='.$slug.' ");

while($row = mysql_fetch_array($result)) {

echo $row[1].'<br>';
echo $row[2].'<br>';
echo $row[3].'<br>';
echo $row[4].'<br>';  

}
   ?>