0

私は久しぶりにphpとmySQLを再訪しています。

mysql_select_db($database_conn, $conn);
$query = sprintf("SELECT DISTINCT Username FROM Entries ");
$result = mysql_query($query);
$row_results = mysql_fetch_assoc($result);

<?php do {
//$name = $row_results['Username'];
//echo $name, "<br/>";
echo '<a href=\"$row_results['Username'],.php\">';
echo '$row_results['Username'],'s overview </a><br/>';
}

while ($row_results = mysql_fetch_assoc($result)); ?>

私がやろうとしているのは、結果からリンクをエコーアウトすることです。リンクはusername.phpの形式で、ユーザー名はデータベースに保存されています。

エスケープされた/"を含む一重引用符と二重引用符を使用しましたが、;または"のように単純なものになることがわかっているさまざまなエラーが発生します。あなたがこれを行うためのより良い方法があれば、何が間違っているのかを説明するのと同じくらい親切である可能性がありますか?

クエリは正しく、コメントアウトされたコードもそれ自体で機能します。

ありがとう

4

6 に答える 6

1

一重引用符で変数を解析することはできません。

echo '<a href=\"$row_results['Username'],.php\">';

使用する

echo '<a href="'.$row_results['Username'].'">';
于 2012-08-01T13:14:43.110 に答える
0

試す:

echo '<a href="'.$row_results['Username'].'.php">';
echo $row_results['Username'].'\'s overview </a><br/>';
于 2012-08-01T13:14:24.387 に答える
0

ここにあなたのエラーがあります:

  1. DISTINCTSQLクエリで使用している場合でも、複数のエントリが存在する可能性があるため、whileループを使用する必要があります。
  2. そこにコンマがありました(おそらくタイプミスによる)。
  3. php変数をエスケープする必要があります。

したがって、上記を実行した後、これは本来あるべきことです。

while ($row_results = mysql_fetch_assoc($result)) {
  echo '<a href="' .$row_results["Username"]. '.php">';
} 
于 2012-08-01T13:14:31.390 に答える
0
mysql_select_db($database_conn, $conn);
$query = sprintf("SELECT DISTINCT Username FROM Entries ");
$result = mysql_query($query);
$row_results = mysql_fetch_assoc($result);

<?php do {
    //$name = $row_results['Username'];
    //echo $name, "<br/>";
    echo '<a href="'.$row_results['Username'].'php">';
    echo $row_results['Username'].'\'s overview </a><br/>';
}
while ($row_results = mysql_fetch_assoc($result)); ?>
于 2012-08-01T13:14:37.447 に答える
0

あなたのhtml文字列とユーザー名の連結のように見えますが、間違っています。

現在、ページに書き込んでいる文字列は

<a href=\"$row_results['Username'],.php\">

あなたがする必要があるのは、データベースから出てくる値で html を結合することです。

これは次のように実行できます。

echo '<a href=\"'.$row_results['Username'].'.php\">';
echo $row_results['Username'].'\'s overview </a><br/>';

「.」に注意してください。文字列の 2 つの部分を連結し、's 内のアポストロフィのエスケープメント

于 2012-08-01T13:17:21.873 に答える
-1

そこにある「と」とかなり混同されているようです。それ以外のものは使用しない'でください。長期的には噛み付くだけです。

.また、。ではなく、と連結し,ます。

mysql_select_db($database_conn, $conn);
$query = sprintf('SELECT DISTINCT Username FROM Entries ');
$result = mysql_query($query);
$row_results = mysql_fetch_assoc($result);

do {
    $name = $row_results['Username'];
    echo $name.'<br/>';
    echo '<a href="'.$name.'.php">';
    echo $name.'\'s overview </a><br/>';
} while ($row_results = mysql_fetch_assoc($result)); ?>
于 2012-08-01T13:14:12.077 に答える