简体   繁体   English

来自数据库的数据未显示

[英]Data from database is not showing

How can I get data from my database to show.我怎样才能从我的数据库中获取数据来显示。 I am not very experienced with PHP or MySQL.我对 PHP 或 MySQL 不是很有经验。

I do not get an error message but no data shows so what am I doing wrong?我没有收到错误消息,但没有数据显示,所以我做错了什么?

PHP 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
}
}
?>

It should be like this:它应该是这样的:

<?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
}
}
?>

The mysql_real_escape_string is to prevent mysql injection which is a serious risk. mysql_real_escape_string 是为了防止 mysql 注入,这是一个严重的风险。

Make sure the query you are executing returns record(s).确保您正在执行的查询返回记录。 You can check this by adding an echo statement which will print the query in your screen.您可以通过添加一个 echo 语句来检查这一点,该语句将在您的屏幕上打印查询。 Copy that and run it againist the database.You can use any mysql front end tools(php myadmin,mysqlyog to run the query. If there is any error in the query, you can see that then.复制它并在数据库中再次运行它。您可以使用任何 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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM