は、私はPHPの変数を持っている:$foo
チェック
data
と呼ば
次の構造を有する:
id var header
1 zj3 http://google.com
私は
$foo
かどうかを確認したいと思います
はvar
内のすべての準備ができている 行。
それは私がheader
(「http://google.com」)をエコーしたい場合には、あなたがこれに近づくだろうか
?
ご協力いただきありがとうございます。明確化が必要かどうか尋ねてください。
は、私はPHPの変数を持っている:$foo
チェック
data
と呼ば
次の構造を有する:
id var header
1 zj3 http://google.com
私は
$foo
かどうかを確認したいと思います
はvar
内のすべての準備ができている 行。
それは私がheader
(「http://google.com」)をエコーしたい場合には、あなたがこれに近づくだろうか
?
ご協力いただきありがとうございます。明確化が必要かどうか尋ねてください。
あなたのクエリは次のようになります。
SELECT `header` FROM `data` WHERE `var` = '$foo'
これは$foo
のvar
値を持つすべてのヘッダを返します。
$db = mysqli_connect('localhost', 'username', 'password', 'database');
if($query = mysqli_query($db, "SELECT `header` FROM `data` WHERE `var` = '$foo'")){
while($row = mysqli_fetch_assoc($query)){
echo $row['header'];
}
mysqli_free_result($query);
}
それを空と比較すると、その値が存在するかどうかわかりますか?それが何か価値がない場合、それは何を返すでしょうか? – Trufa
何も見つからなければ何も返しません( '$ query'は' FALSE'になります)。 –
@Trufa:「それを空と比較すれば、価値があるかどうかわかります」とはどういう意味ですか? –
最初デシベル
$query = mysql_query("SELECT var, header FROM data WHERE id='1'") or die(mysql_error());
while($row = mysql_fetch_assoc($query)){
if($foo == $row['var']){
echo $row['header'];
}
}
EDITに接続するには:あなたが$foo
一致いかなるdata
のフィールドかどうかを尋ねる、または$foo=some_field
場合しているあなたの編集に基づいて
を平等文を変更しましたか?あなたが望むならここに$foo==var
。
$foo='somevalue';
$query="SELECT id, var, header FROM `data` WHERE var='$foo'";
$result=mysqli_query($query);
if($result->num_rows==0)
$loc= 'http://google.com';//default value for when there is no row that matches $foo
}else{
$row=$result->fetch_assoc(); //more than one row is useless since the first header('Location: x') command sends the browser to a new page and away from your script.
$loc=$row['header'];
}
header ("Location: $loc);
exit;
ETA:あなたがあなたの質問を編集したことから、それはあなたがあなたの検索値は、あなたのvar列に一致する場合、ヘッダ列をエコーしたいことが表示されます。上記はうまくいかないでしょう。
はい、これは正しいですが、検索値があなたのvar列と一致する場合、ヘッダー列をエコーしたいと思います。 – Trufa
$ varの値がその列(任意の行)のどこにあるかを知りたいだけですか?
SELECT COUNT(id) FROM data WHERE var = ?;
結果は、フィールドvarに値$ varが含まれる行数になります。
私は正しく理解すれば、これはあなたを助けるはずです。
// Query Variable/Contains you database query information
$results = $query;
// Loop through like so if the results are returned as an array
foreach($results as $result)
{
if(!$result['var'])
echo $result['header'];
}
// Loop through like so if the results are returned as an object
foreach($results as $result)
{
if(!$result->var)
echo $result->header;
}
「これは存在するか」のすべての質問のテンプレートです。
これは実際に私のために今まで働いていたが、非難されていない唯一のものです。
if ($query = mysqli_query($link, "SELECT header FROM data WHERE var = '$foo'")) {
$header = mysqli_fetch_assoc($query);
if ($header) {
// The variable with value $foo exists.
}
else {
// The variable with value $foo doesn't exist.
}
}
else {
// The query didn't execute for some reason. (Dammit Obama!)
}
警告!変数が存在していなくても
$クエリとmysqli_queryとの比較()は常にTRUEを返します。
偽を返す比較のための唯一の方法は、クエリに構文エラーがあるためです。それが受け入れられた答えを書いた人のために働いた理由を私は知らない
、多分それは、更新ですまたは多分彼は構文エラーを持っていたし、それが今までTRUEことができれば、彼は確認しなかったことをとても自信があった 。
だから、受け入れ答えが間違っている「最初の行に{前に別の追加)」
:
は、ここで彼の構文を修正するために作られたコメントの誰かです!
したがって、値がテーブルにない場合は、行を戻したいですか?よくわかりません。 –
@Rocket巨大な誤字は申し訳ありません!私の質問を編集しました。ありがとう。 – Trufa
ありがとう。それは今意味がある: - P –