토지에서 가장 좋은 프로그래머가 아니란 점은 누군가가 오류를 발견했거나 잘못된 방향으로 가고 있다고 말하면서이 질문을 할 것이라고 생각했습니다.서버 오류 MySQL 오류 - 1064
검색 기능을 만들어 내 MYSQL 데이터베이스를 검색 한 다음 결과를 반환하려는 Flash Builder 웹 사이트가 있습니다.
사용자가 관련 변수에 데이터를 입력하지 않은 경우를 대비하여 not null 부분을 포함했습니다.
하지만이 오류가 발생합니다. 이유 : 서버 오류 MySQL 오류 - 1064 : SQL 구문에 오류가 있습니다. 라인 1 # 여기에서 0
에 가까운 '여성 LIKE 우물과 섹스'를 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인하면 코드를입니다
public function searchClients($fname, $lname, $country, $town, $sex) {
$SQLStatment = "SELECT id, fname, lname, sex, country, town, dateofbirth, monthofbirth, yearofbirth FROM $this->tablename";
$WhereClause = "";
$where =" Where ";
if($fname != "NULL") {
$WhereClause.= 'Fname LIKE '.$fname;
}
if($lname != "NULL") {
if($WhereClause != "")
{
$WhereClause.= ' AND lname LIKE ' .$lname;
}
else
{
$WhereClause = 'lname LIKE ' .$lname;
}
}
if($country != "NULL") {
if($WhereClause != "")
{
$WhereClause.= ' AND country LIKE ' .$country;
}
else
{
$WhereClause = 'country LIKE ' .$country;
}
}
if($town != "NULL") {
if($WhereClause != "")
{
$WhereClause.= ' AND town LIKE ' .$town;
}
else
{
$WhereClause = 'town LIKE ' .$town;
}
}
if($sex != "NULL") {
if($WhereClause != "")
{
$WhereClause.= ' AND sex LIKE ' .$sex;
}
else
{
$WhereClause = 'sex LIKE ' .$sex;
}
}
$SQLStatment.= $where;
$SQLStatment.= $WhereClause;
$stmt = mysqli_prepare($this->connection, $SQLStatment);
$this->throwExceptionOnError();
mysqli_stmt_execute($stmt);
$this->throwExceptionOnError();
$rows = array();
mysqli_stmt_bind_result($stmt, $row->ID, $row->fname, $row->lname, $row->sex, $row->country, $row->town, $row->dateofbirth, $row->monthofbirth, $row->yearofbirth);
while (mysqli_stmt_fetch($stmt)) {
$row->fname = ucfirst(substr($row->fname,0,1));
$row->lname = ucfirst($row->lname);
$row->town = ucfirst($row->town);
$row->lname = (($row->fname) . " " . ($row->lname));
$row->yearofbirth = GetAge($row->dateofbirth. '-' .$row->monthofbirth. '-' .$row->yearofbirth);
$row->Pic_loc = "";
$row->Pic_loc= "IMAGES/".($row->ID)."/image01.jpg";
$rows[] = $row;
$row = new stdClass();
mysqli_stmt_bind_result($stmt, $row->ID, $row->fname, $row->lname, $row->sex, $row->country, $row->town, $row->dateofbirth, $row->monthofbirth, $row->yearofbirth);
}
mysqli_stmt_free_result($stmt);
mysqli_close($this->connection);
return $rows;
}
그것은 나에게 좋은 보이지만, 작동하지 않는다, 어떤 제안? 그 신음이
if($town != "NULL") {
if($WhereClause != "")
{
$WhereClause.= ' AND town LIKE ' .$town;
}
else
{
$WhereClause = 'town LIKE ' .$town;
}
}
if($sex != "NULL") {
if($WhereClause != "")
{
$WhereClause.= ' AND sex LIKE ' .$sex;
}
else
{
$WhereClause = 'sex LIKE ' .$sex;
}
}
을 것을 은 정말 이상한은 절을 경우 다른 세에 대해 신음하지 않는 것을 발견 코드에서 포인트 가까이를 고정 할 수 있지만, 지난 2에 대한 않습니다. 같은
와우는 정확하고 빠르며 정확한 오류는 없었습니다. :) 감사의 말투는 단지 내 테스트가 내가 찾던 결과를 만들어주기를 바랍니다. 다시 한 번 감사합니다. – WhiteFinger