ホームページ > バックエンド開発 > PHPチュートリアル > PHPがSQLサーバー操作を実行するときに報告されるエラーの解決策

PHPがSQLサーバー操作を実行するときに報告されるエラーの解決策

WBOY
リリース: 2016-06-13 13:32:41
オリジナル
1108 人が閲覧しました

php は SQL サーバー操作の実行時にエラーを報告します
php は SQL サーバー 2000 を操作します
SQL ステートメントは次のとおりです:
insert into someTable names('1111111','222222','33333333333','1100100',4 ,' 5100005','ペニシリン','01','0.125g*20','経口徐放剤形',16,1,16,0,0,'0','1','2012- 05-07' ,'YP','11','ボックス',16,0,0,0,'01','01',16,0,0,'ZL001','2012-5-7' ,'/' ,'/','/')
sql sever2000 で SQL クエリ アナライザーを実行すると問題ありませんが、php で実行するとエラーが報告されます。コードは次のとおりです。

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<?php
mssql_connect("someIP","id","pass");
if($con)
    echo "link db success!";
else
    echo "link db failed!". mysql_error();

$db = mssql_select_db( "someDatabase",$con) or die("无法选择db");

$query = "insert into someTable values('1111111','222222','33333333333','1100100',4,'5100005','盘尼西林','01','0.125g*20','口服常释剂型',16,1,16,0,0,'0','1','2012-05-07','YP','11','盒',16,0,0,0,'01','01',16,0,0,'ZL001','2012-5-7','/','/','/')";

$result = mssql_query($query) or die("无法执行sql:$query");
?>

ログイン後にコピー


エラーは次のように報告されます:
link db success!
警告: mssql_query() [function.mssql-query]: メッセージ: 行 1 :「01」付近に構文エラーがあります。 (重大度 15) C:AppServwwwtestinsert.php の 14 行目

警告: mssql_query() [function.mssql-query]: メッセージ: 文字列 ')' の前に閉じていない引用符があります。 (重大度 15) C:AppServwwwtestinsert.php の 14 行目

警告: mssql_query() [function.mssql-query]: C:AppServwwwtestinsert.php の 14 行目でクエリが失敗しました
SQL を実行できません: someTable に挿入 value('1111111','222222','33333333333','1100100',4,'5100005','ペニシリン','01','0.125g*20','経口徐放剤形' ,16 ,1,16,0,0,'0','1','2012-05-07','YP','11','ボックス',16,0,0,0,'01' ,' 01',16,0,0,'ZL001','2012-5-7','/','/','/')

何が問題ですか? SQL ステートメントには問題がないはずですが、なぜエラーが報告されるのでしょうか?皆さんありがとうございます

-----解決策---------
逃げかもしれません文字

'/-'->'//' に問題があります。試してください
------解決策------------------
charset=utf-8 ???

SQL Server 2000 は utf-8 エンコーディングをサポートしていません
特殊文字「'」は「''」にエスケープする必要があります
------解決策------------------
SQL Server 2000 はデータを UTF-8 の形式で保存しません。つまり、拡張マークアップ言語 (XML) をサポートするという 1 つの重要な状況でのみ UTF-8 をサポートするため、UTF-8 を直接サポートすることはできません。 SQL Server 2000 データベース。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート