查询为空错误|试图获得特定的Mysql值

时间:2014-11-03 10:05:50

标签: php mysql

预先感谢您提供的任何帮助,我对所有编码内容都非常不错,但情况就是这样:

我有一个专注于旅行社旅游和酒店的wordpress网站,我正在研究外联网系统,其想法是酒店经理将能够改变他们房间的价格,但这个外联网完全有效除了wordpress,它是一个php脚本,有一个不同的mysql数据库,所以,我想做的是,当外联网中的价格发生变化时,那么在wordpress中这也会实时改变,所以我和以这种方式尝试:

我计划在wordpress编辑器上插入一个带有mysql代码的php片段,以便从每个酒店和房间的其他数据库中获取价格,因此,我将手动为每个酒店执行此操作,问题变成了我试图用来获取该值的代码:

<?php
$dbhost = 'localhost';
$dbuser = 'test_user';
$dbpass = 'pass';
$dbname = 'test_db';
$conn = mysql_connect($dbhost, $dbuser, $dbpass, $dbname);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = mysql_query("SELECT `room_price`, FROM `hotel_room_price` WHERE price_id = '1'");


$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Room Price :{$row['room_price']}  <br> ".
         "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>

因此,我在test.php文件中使用此代码获得的结果是:

  

&#34;无法获取数据:查询为空&#34;

我不确定为什么会出现这个错误,为什么不打印我想要的值。

PostData:我真的为我的英语道歉,因为不是我的语言,但我正在努力学习。

4 个答案:

答案 0 :(得分:1)

并尝试像这样的连接

$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $conn);

您需要在房价

后从查询中删除逗号
//You are running the query twice so use this query 

$sql = "SELECT `room_price` FROM `hotel_room_price` WHERE price_id = '1'";

并了解mysqliPDO,因为mysql已弃用且儿子将被删除

答案 1 :(得分:0)

对于选择数据库,请使用mysql_select_db()。你无法在mysql_connect()

中将dbname作为args传递
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $conn);

此外,如果您是学习者,请学习 mysqli PDO

注意: - mysql_*已被弃用

您正在调用查询运行两次,因此请更改以下行

$sql = mysql_query("SELECT `room_price`, FROM `hotel_room_price` WHERE price_id = '1'");
$retval = mysql_query( $sql, $conn );

$retval = mysql_query("SELECT `room_price` FROM `hotel_room_price` WHERE price_id = '1'");

答案 2 :(得分:0)

您已经发送了两次查询...

试试这个

$sql = "SELECT `room_price`, FROM `hotel_room_price` WHERE price_id = '1'";
$retval = mysql_query( $sql, $conn );

答案 3 :(得分:0)

<?php
$dbhost      = 'localhost';
$dbuser      = 'test_user';
$dbpass      = 'pass';
$dbname      = 'test_db';
$conn        = mysql_connect($dbhost, $dbuser, $dbpass);
$db_selected = mysql_select_db($dbname,$conn);

if (!$db_selected) {
    die ('Can\'t use test_db : ' . mysql_error());
}

if(! $conn ) {
  die('Could not connect: ' . mysql_error());
}

$sql = "SELECT `room_price` FROM `hotel_room_price` WHERE price_id = '1'";

$retval = mysql_query( $sql, $conn );

if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Room Price :{$row['room_price']}  <br> ".
         "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>