2011-10-24 65 views
-2

如何从我的数据库中获取数据以显示。我对PHP或MySQL不是很有经验。来自数据库的数据没有显示,HELP?

我没有收到错误消息,但没有数据显示,所以我做错了什么?

PHP

<?php 
if(strlen(trim($_POST['search'])) > 0) { 

$search = "%" . $_POST["search"] . "%"; 
$searchterm = "%" . $_POST["searchterm"] . "%"; 

mysql_connect ("cust-mysql-123-03", "", ""); 
mysql_select_db ("weezycouk_641290_db1"); 
if (!empty($_POST["search_string"])) 
{ 

} 

$query = "SELECT name,lastname,email FROM contact WHERE name LIKE '%$search%' AND 
lastname  LIKE '%$searchterm%'"; 

$result = mysql_query ($query); 
echo mysql_error(); 
if ($result) { 
while ($row = mysql_fetch_assoc($result)) { 

echo $row["name"]; 
echo $row["lastname"]; 
echo $row["email"]; 
} ?> 


<?php echo $row["name"]; ?> 
<br> 
<?php echo $row["lastname"]; ?> 
<br> 
<?php echo $row["email"]; ?> 


<?php 
} 
} 
?> 

谢谢!

+0

回声mysql_error();之后的mysql_query().. – halfdan

+0

我更新了我的问题PHP代码与和使用。它在我的实际代码,但仍然没有 – James

+0

@James调试你的代码。安装调试器或在您的代码中放置可变转储语句以追踪其路径。验证每个条件满足您的满意度并向前迈进。 5分钟的简单调试可以解决这个问题,你要求人们在大海捞针中找到针。 –

回答

0

确保您正在执行的查询返回记录。你可以通过添加一个echo语句来检查它,它将在你的屏幕上打印查询。复制并运行它againist的database.You可以使用任何MySQL的前端工具(PHP myadmin,mysqlyog运行查询,如果有查询任何错误,你可以看到,那么,

$query = "SELECT name,lastname,email FROM contact WHERE name LIKE '%$search%' AND 
lastname  LIKE '%$searchterm%'"; 
//the below line will print the query on the screen 
echo $query; 

$result = mysql_query ($query); 
+0

嗨,感谢您的帮助,但我收录了它,什么都没有发生? – James

+0

在我们的新语句之前添加回声“测试回声”并查看是否打印“测试回声”。你确定你正在检查你改变的同一页吗?在两行之间添加回声,看看它在哪里破碎。 – Shyju

1

它应该是这样的:

<?php 
if(strlen(trim($_POST['search'])) > 0) { 

mysql_connect ("cust-mysql-123-03", "", ""); 
mysql_select_db ("weezycouk_641290_db1"); 

$query = "SELECT name,lastname,email FROM contact WHERE name LIKE '%" . mysql_real_escape_string($_POST['search']) . "%' AND lastname LIKE '%" . mysql_real_escape_string($_POST['searchstring']) . "%'"; 

$result = mysql_query ($query); 
echo mysql_error(); 
if ($result) { 
while ($row = mysql_fetch_assoc($result)) { 

echo $row["name"]; 
echo $row["lastname"]; 
echo $row["email"]; 
} ?> 


<?php echo $row["name"]; ?> 
<br> 
<?php echo $row["lastname"]; ?> 
<br> 
<?php echo $row["email"]; ?> 


<?php 
} 
} 
?> 

的mysql_real_escape_string是为了防止MySQL的注入这是一个严重的风险

+0

感谢您的帮助,但没有任何改变!我真的不确定发生了什么事。没有错误消息,我纠正他们和所有密码,用户,主机是正确的。为什么数据不会显示在我的结果页上? – James

相关问题