나는 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 : '비어있는 것과 비교하면 가치가 있는지 알 수 있습니까?'라는 의미는 무엇입니까? –
먼저 DB
$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'];
}
}
편집에 연결? 원하는 경우 여기 $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 열과 일치하는 경우 헤더 열을 표시합니다. 위의 내용은 작동하지 않습니다.
에 평등 문을 기반으로 변경된 당신은 $foo
일치 묻는 된 모든 data
의 필드, 또는 $foo=some_field
경우 :
예, 정확합니다. 검색 값이 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를 반환합니다.
비교를 위해 FALSE을 반환하는 유일한 방법은 쿼리 구문 오류 때문입니다.
허용 된 답변을 작성한 사람이 어째서 작동하는지 모르겠다. 어쩌면 업데이트가되었거나 구문 오류가 있었을 가능성이 있는지 확인하지 않았다고 확신했다. TRUE .
그래서, 허용 대답은 잘못 "첫 번째 줄에서 {전에 다른 추가)"
:
여기에 자신의 구문을 수정을 위해 만든 주석 사람입니다!
그래서 테이블에 값이 없으면 행을 반환하겠습니까? 나는 혼란스러워. –
@Rocket 거대한 오타를 유감스럽게 생각합니다! 내 질문을 수정했습니다. 덕분에 – Trufa
. 그건 이제 이해가 되네 .-P –