私のプロジェクトで少し問題があります。そして、名前または姓の値に 'ñ'がある場合、クエリ結果は何も返しません。
は、ここに私のコード正しく照会できません(MSSQL - PHP - JSON)
config.phpのだ:
<?php
ini_set('mssql.charset', 'UTF-8');
header('content-type: text/html; charset=utf-8');
$serverName = "192.168.1.21"; /* IP add of db Server */
$connection = array("Database" => "db", "UID" => "?", "PWD" => "***");
$conn = sqlsrv_connect($serverName, $connection);
if(!$conn){
echo "Connection could not be established.";
die(print_r(sqlsrv_errors(), true));
}
?>
MYQUERY:私はこれらのページで見
$idnumber = $_POST["idnum"];
$response = array();
$query2 = "SELECT cLName, cFName, cMName, cQualifier FROM student WHERE cIDNO = '$idnumber'";
try{
$stmt2 = sqlsrv_query($conn, $query2);
}
catch(PDOExeption $ex){
$response["Success"] = 0;
$response["message"] = "Database Error!";
die(json_encode($response));
}
$row2 = sqlsrv_fetch_array($stmt2, SQLSRV_FETCH_ASSOC);
if($row2){
$response["Success"] = 1;
$response["message"] = "Data available";
$last_name = $row2["cLName"];
$first_name = $row2["cFName"];
$qualify = $row2["cQualifier"];
$first_name = html_entity_decode(htmlentities($first_name));
$last_name = html_entity_decode(htmlentities($last_name));
$name = $first_name." ".$last_name." ".$qualify;
$response["Name"] = $name;
echo json_encode($response);
}
else{
$response["Success"] = 0;
$response["message"] = "Database Error!";
die(json_encode($response));
}
しかし、なぜ私のプログラムにこれが起こっているのか分かりません。データベースで
例:cLName = "Española", cFName = "Edgar", cQualifier = "Jr."
出力:"Name":"Edgar Jr."
ながら:cLName = "Agustin", cFName = "Florence", cQualifier = "Jr."
出力:"Name":"Florence Agustin Jr."
のアイデア?お願いします?
注:私はデータベースの内容を変更または変更する権限がありません。
'$ first_name'に値が格納されているかどうかチェックしましたか?あなたの問題がデータベースから値を取得しているかどうかを判断できます。 – Andreas
検索語の前にNを追加します。 Select * from Tab1 Col1 = N'YourColumn ' –
@ Andreasはい、私は試しました。私は別のIDの試みの試してみました、 "ñ"のない名前は値と名前が含まれている、値はありません。 'json_encode()'なしで 'echo 'しようとしました。それは同じです。 – kiLLua