sql >> データベース >  >> RDS >> Mysql

致命的なエラー:[]演算子は文字列ではサポートされていません

    文字列で短い配列のプッシュ構文を使用しようとすると、このエラーが発生します。

    たとえば、これ

    $foo = 'foo';
    $foo[] = 'bar'; // ERROR!
    

    あなたの$nameの1つ以上が推測されるのは危険です 、$date$text または$date2 変数は文字列として初期化されています。

    編集: もう一度質問を見ると、さらに下の文字列として扱っているため、実際には配列として使用したくないようです。

    その場合は、割り当てを

    に変更します
    $name = $row['name'];
    $date = $row['date'];
    $text = $row['text'];
    $date2 = $row['date2'];
    

    PHP7とempty-indexを使用したコードにはいくつかの問題があるようです。 配列プッシュ構文。

    明確にするために、これらは正常に機能します PHP7以降

    $previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds one entry
    
    $emptyArray = []; // creates an array
    $emptyArray[] = 'value'; // pushes in an entry
    

    機能しない empty-indexを使用しようとしています 文字列、数値、オブジェクトなどとして宣言された変数をプッシュします。つまり、

    $declaredAsString = '';
    $declaredAsString[] = 'value';
    
    $declaredAsNumber = 1;
    $declaredAsNumber[] = 'value';
    
    $declaredAsObject = new stdclass();
    $declaredAsObject[] = 'value';
    

    すべてが致命的なエラーになります。



    1. MySQL Workbenchチュートリアル–RDBMSツールの包括的なガイド

    2. ベストプラクティスの多言語Webサイト

    3. Oracle PL / SQL:DMLパッケージをオンラインで作成

    4. SQLは、パラメーターがnullの場合はすべて選択し、それ以外の場合は特定の項目を返します