土地の中で最高のプログラマではありません。私は、この質問を誰かが間違いを見つけたり、私が間違った方法で行っていると願ってこの質問をすると思っていました。サーバエラーMySQLエラー - 1064
MYSQLデータベースを検索して結果を返す検索機能を作成しようとしているFlash Builder Webサイトがあります。
ユーザーが関連する変数にデータを入力しない場合に備えて、私はnot nullの部分を含めました。
しかし、私はこのエラーを受けています 理由:サーバーエラーMySQLエラー - 1064:SQL構文にエラーがあります。 HEREライン1#0
に近い「女性LIKE井戸やセックス」を使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してくださいCODE
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;
}
ISそれは私にはよさそうだけどどんな提案もうまくいきませんか?そのうめき声が
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;
}
}
であることを はちょうどそれが本当に奇妙なことがあれば、他の条項3についてはうめき声ていないことが判明コードでポイント近い端子へのそれは最後の二つについて行います。あなたは、コードを簡素化し、
ワウは速く正しいですが、私はどんなエラーも出ませんでした:)感謝の仲間は私のテストが私が探していた結果を生み出すことを願っています:) – WhiteFinger