2011-10-24 20 views
-2

データベースからデータを取得する方法を教えてください。私はPHPやmysqlにはあまり経験がありません。データベースのデータが表示されない、ヘルプ?

エラーメッセージは表示されませんが、データが表示されないので、何が間違っていますか?

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ステートメントを追加します。それをコピーしてdatabase.Youは、任意のMySQLのフロントエンド・ツール(PHPのmyadminという、クエリを実行するmysqlyogを使用することができagainist。クエリに誤りがある場合、あなたはそれを見ることができ、それを実行します。

$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

add echo "Testing echo"を新しいステートメントの前に置き、 "Testing echo"を出力するかどうかを確認します。変更した同じページを確認してもよろしいですか?ラインの間にエコーを追加して、どこが壊れているかを確認します。 – 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

関連する問題