更新!!私のコードは実際に実行しても有効です。元の質問は以下です。それでも興味がある場合は、質問を読んでから、私の更新を読んでください。
悪いことに、コードが実行された後、db は実際に正常に更新されます。誤ってテーブルのデータ型を INT に設定しましたが、最初の意図は varchar です。
しかし、HenryDevの答えから、phpのpostメソッドで取得した配列を見つけることができましたが、STRING型ではなく配列型になります。私が使用した
$cameArray = $_POST['cameArray'];
echo gettype($cameArray);
画面に「文字列」を出力するため、それでは implode は機能しません (HenryDev の回答に関する議論を参照してください)。
ただし、彼の答えは、PHP で配列を設定してそれを爆縮すれば、魅力として機能します。配列の「文字列型」が返されます。
更新!!私のコードは実際に実行しても有効です。元の質問は以下です。それでも興味がある場合は、質問を読んでから、私の更新を読んでください。
ここに私の元の質問があります
非常に基本的な質問がありますが、オンラインで見つけたチュートリアルと回答は、私の状況ではやや複雑です。
次のようなJS配列があります
var sentArray = ['1','2','3'];
この配列をテーブルの 1 つのフィールドとしてデータベースに挿入したいと思います。私は ajax を使用してこの配列を PHP に送信し、PHP でクエリを実行します。例えば、
$cameArray = $_POST['cameArray']; //then $cameArray is sentArray
mysqli_query($con, "INSERT INTO thisTable (arrayField) VALUES ($cameArray)");
そして、データベース内の値を「1、2、3」として表示したいのですが、問題はデータベース内の値が単一の「2」として単純に表示されることです。テーブルの型は varchar です。
純粋なテキストだけを含む JSON オブジェクトはありません。どうすればよいでしょうか?ありがとう!
これが簡単な解決策です。配列を文字列として保存したい場合は、PHP コードでこれを行うだけです。
$array = array('1', '2', '3'); // Your array
$cameArray = implode(",", $array);
echo $cameArray; // "1,2,3"
これで、変数$cameArray
をデータベースに保存できます。それが役に立てば幸い!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加