2014-02-28 215 views
0

我试图创建一个基本的PHP/MySQL测试脚本。当我尝试在我创建的数据库('andrew')中打印这两个表时,PHP输出不返回任何值。但是,当我通过My​​SQL 5.6命令行运行相同的命令('show tables;')时,将返回两个表。任何想法我做错了什么?PHP MySQL查询返回空

<?php 
$host='localhost'; 
$username='root'; 
$password='*****'; 
$database='andrew'; 
$connect=mysqli_connect($host,$username,$password,$database); 

if(mysqli_connect_errno()) 
{echo 'Failed to connect to MySQL: ' . mysqli_connect_error(); 
} 
else{echo 'Connected to MySQL! </ br>';} 
$result=mysqli_query($connect,'show tables;'); 

if(!$result){ 
echo 'Nope';} 
else{echo '<p>Result!!!</p>';} 
echo '<p>Tables in database:</p>'; 
echo "<ul>"; 
while($row = mysqli_fetch_assoc($result)){ 
print_r ($row);} 
echo "</ul>"; 
?> 
+0

似乎有什么东西不对您的设置也许,我复制/粘贴代码,并在我的creds加入,并它对我来说非常合适。 – duellsy

+0

你检查了你的用户权限吗?有一个“显示表”命令的特定权限,并且仅与“读取”权限不同 –

+0

如果我将$ database定义为“mysql”,则会返回数十个表。但'安德鲁'没有任何回报。创建新数据库时,除了“插入表格”等之外,是否还需要其他设置? – user3003487

回答

0

尝试在你的mysql命令行运行该SQL:

用mysql; 授予all andrew。*至'root'@'localhost'由'root password'标识;

然后再次尝试运行您的脚本。

+0

中的一些假数据创建一个工作示例,但仍然无法正常工作。尽管如此,谢谢你。 – user3003487

0

您拥有的脚本工作正常。

详情

$host='localhost'; 
$username='root'; 
$password=''; 
$database='test'; 

输出

Connected to MySQL! 

Result!!! 

Tables in database: 

    Array ([Tables_in_test] => tester) 
0
<?php 
$host='localhost'; 
$username='root'; 
$password='*****'; 
$database='andrew'; 
$connect=mysqli_connect($host,$username,$password,$database); 
mysqli_select_db($connect,$database); 

if(mysqli_connect_errno()) { 
    echo 'Failed to connect to MySQL: ' . mysqli_connect_error(); 
} 
else { 
    echo 'Connected to MySQL! </ br>'; 
} 
$result=mysqli_query($connect,'your sql query'); 

if(!$result){ 
    echo 'Nope'; 
} else{ 
    echo '<p>Result!!!</p>'; 
} 
echo '<p>Tables in database:</p>'; 
echo "<ul>"; 
while($row = mysqli_fetch_array($result)){ 
print_r($row); 
} 
echo "</ul>"; 
?>