私はデータベースを持っています。以前に構築されていなかった場合、DB に 1 つの行のみを含むテーブルを作成しました。
1行しかないのは、情報を保持するために使用するためです。
session idTYPE NVARCHAR(100)
を保存するために使用したいフィールドがあり、ここで頭痛の種になります。
phpmyadmin
から取得したセッションIDを使用して、適切にINSERT(チェックに使用し、空白です)およびUPDATE(構文エラー...)することさえできないようsession_id()
ですstring
。
私の行動に関連する私のコードの一部は次のとおりです。
//uamip,uamport is in URL;I use $_GET[]
$_SESSION[uamport] = $_GET['uamport'];
$_SESSION[uamip] = $_GET['uamip'];
**$_SESSION[sid] = session_id();**
//construct
$sql="CREATE TABLE trans_vector(
`index` INT NOT NULL AUTO_INCREMENT,
`sid` NVARCHAR(100),
`uamip` CHAR(15),
`uamport` INT,
PRIMARY KEY (`index`)
)" ;
mysql_query($sql);
//insert(first time, so not constructed)
$sql="INSERT INTO trans_vector (sid,uamip,uamport) VALUES(
'$_SESSION[sid]',
'$_SESSION[myuamip]',
'$_SESSION[myuamport]'
)";
mysql_query($sql);
//update(from 2nd time and later, table exists, so I want to update the sid part)
$sql="UPDATE trans_vector SET sid="**.**$_SESSION[sid];
mysql_query($sql)
今、phpmyadmin を使用してsid field
afterINSERT
またはを確認するとUPDATE
、空白です。
しかし、私がこれを行うと:
$vector=mysql_fetch_array(mysql_query("SELECT TABLES LIKE 'trans_vector'"));
そしてecho $vector[sid]
、それはウェブページに印刷されます。
別の質問は次のとおりです。
上記のUPDATE
ステートメントでは、常に次のようなエラーが発生します。
「不明な列 xxxxxx....(いくつかのセッション ID が返されました。常に最初に変換して SQL ステートメントに入れているようです。**それを列 NAME** として扱います。これは私が望んでいるものではありません!)」
CREATE ステートメントでいくつかの TYPE を試しました。また、UPDATE ステートメントの多くの構文 (すべて!!!) も試しましたが、常にこのエラーが発生します。
後者の値が実際に必要なものである変数を含む文字列表現に問題を抱えて'
います...おそらく問題は、CREATEの型とUPDATE
ステートメントの文字列表現から発生しますか?
CAST()
ステートメントは私にとって役に立ちますか?
私がこれに対処するのを手伝ってくれることを願っています...そしておそらくそのような問題の実際の参考文献をPHP
.
本当にありがとう!!