PHP를 사용하여 웹 사이트를 만들고 있는데 SQL 쿼리에 문제가 있습니다.SQL 쿼리로 인한 페이지 비우기
$dataArray = array();
$result = mysql_query("SELECT * FROM test WHERE web_id='$websiteID'")
or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$k = $row['kfoo'];
$v = $row['vbar'];
$dataArray[$k] = $v;
}
코드가 있어야하지만 페이지가 공백으로 표시됩니다 (즉, 모두 흰색으로 표시됨). 나는 두 번 확인했고 web_id
은 분명히 정확한 이름과 대소 문자를 구별합니다.
예를 들어, 'foo'(기본적으로 web_id
이외의 다른 것)로 변경하면 페이지가 표시되지만 "where clause '에"Unknown column'foo '라는 오류 메시지가 표시됩니다. ".
아무도이 문제를 일으킬 수있는 아이디어가 있습니까? 저는 여기에 테이블 테스트를 만드는 코드입니다 : 여기에 몇 가지 답변을 바탕으로
$dataDB = "CREATE TABLE test
(
data_id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(data_id),
web_id INT,
kfoo TEXT,
vbar TEXT
)";
mysql_query($dataDB,$con);
업데이트
, 나는 약 $ websiteID에서 따옴표를 제거하고
error_reporting(E_ALL);
ini_set('display_errors', 1);
를 사용하여 오류를 표시
이것은 이전에 구문 오류가 있었음을 포함하여 많은 오류를 표시했습니다. 그러나 많은 오류가 남아 있고 그들은 나에게별로 의미가 없습니다. 내가지고있어 오류가 같은 모두
function getOutputSQL($websiteID,$userInput) {
$result = mysql_query("SELECT * FROM websites WHERE websiteID=$websiteID")
or die(mysql_error());
while ($row = mysql_fetch_array($result)){
$url = $row['url'];
$exp = $row['exp'];
$output= $row['textPrint'];
$endUrlStart = $row['outUrlStart'];
$endUrlEnd = $row['outURLEnd'];
$image = $row['image'];
$print = $row['print'];
$post = $row['post'];
$dataSource = $row['dataSource'];
$dataSourceName = $row['dataSourceName'];
}
// construct array of data names and values
$dataArray = array();
$result = mysql_query("SELECT * FROM test WHERE web_id=$websiteID")
or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$k = $row['kfoo'];
$v = $row['vbar'];
$dataArray[$k] = $v;
}
// construct array of expressions and replacements
$result = mysql_query("SELECT * FROM regex WHERE web_id=$websiteID");
$expArray = array();
while ($row = mysql_fetch_array($result)) {
$e = $row['ex'];
$r = $row['re'];
$expArray[$e] = $r;
}
return getOutput($userInput,$url,$exp,$output,$endUrlStart,
$endUrlEnd,$dataSource,$dataSourceName,$post,$image,$print,
$expArray,$dataArray);
}
-
URL을 여러 번 반복공지 사항 : : 여기 내 방법에 대한 전체 코드의 정의되지 않은 변수 : /home/daniel/web/resultsTest.php의 출력에 라인 (113) "
가, 특급, 출력, endUrlStart는, endUrlEnd은,은 dataSource가의 dataSourceName은, 게시물, 이미지 및 인쇄 라인 (113)이 큰 리턴 라인입니다.
이 변수가 정의되었다고 말할 수있는 한, 다른 페이지에 표시 할 수 있기 때문에 테이블이 비어 있지 않다는 것을 알고 있습니다.
는
정렬 된를 해결. 문제는 실제로 내 코드의 다른 부분에있었습니다. getOutputSQL을 잘못 호출하고 있었지만 지금 수정했습니다!
인용 부호가있는 정수는 아프지 않습니다. – Tomalak