LMS知識社群ePortfolioLogin
Position: Web Programming > Forums > Discussion
編碼問題
1
老師你好

我現在正在寫會員登錄的功能

寫了三個檔案
log_in.html
log_in.php
log_in.js

這三個檔都是用utf-8編碼

然後裝的MySql編碼也是選utf-8


現在的問題是

我在驗證使用者名稱時,如果是輸入數字(錯的) 則伺服器可以正常回覆 "無此id"

可是只要不是數字,用英文或中文, 都會出現 mysql query error

google了好久  也試了很多方法

還是沒辦法解決

不知道問題出在哪裡

謝謝老師
2
首先,這三個檔案請合併
query error ... 請描述清楚一點,例如,精準的錯誤訊息、程式碼的片段、資料庫的截圖等
3
沒有輸入的畫面

輸入數字的畫面


輸入非數字的畫面



附上php部分的程式碼


<?php
if($_POST["id"]&&$_POST["pass"])
{
 $id=$_POST[id];
 $pass=$_POST[pass];
 $dbhost = '127.0.0.1';
 $dbuser = 'linlinjohnny';
 $dbpass = 'password';
 $dbname = 'myspace';
 mysql_query("SET NAMES 'utf8'");
 mysql_query('SET NAMES utf8');
 mysql_query('SET CHARACTER_SET_CLIENT=utf8');
 mysql_query('SET CHARACTER_SET_RESULTS=utf8');
 $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error with MySQL connection');
 mysql_select_db($dbname);
 $sql="SELECT num,id,pass FROM myspace where id=".$id;
 $result = mysql_query($sql) or die('MySQL query error');
 $array=mysql_fetch_array($result);
 if($array==null)
  echo "無此id";
 else
  echo "存在";
}
?>
4
被我猜中了 ...
id='請用單引號括起來'
不然你怎麼分辨 sql 語法還是資料?

ps: 下次這樣的問題不回應喔 :-)