1
を挿入した場合、私はケースのユーザーの種類いくつかのチャット中の単語が、そのは動作していないにms_data['text']
にスイッチを追加しようとしている応答を取得し、テキストが
誰かが私はそれを解決するのに役立つことはできますか?あなたが持っているので
function RegisterMessage($ms_data = array()) {
global $wo, $sqlConnect;
if ($wo['loggedin'] == false) {
return false;
}
if (empty($ms_data)) {
return false;
}
if (empty($ms_data['text']) || !isset($ms_data['text']) || strlen($ms_data['text']) < 0) {
if (empty($ms_data['media']) || !isset($ms_data['media']) || strlen($ms_data['media']) < 0) {
return false;
}
}
if (isset($ms_data['text'])) {
switch ($ms_data['text']]) {
case '1':
echo "one";
break;
case '2':
echo "two";
break;
case '3':
echo "three";
break;
}
}
$fields = '`' . implode('`, `', array_keys($ms_data)) . '`';
$data = '\'' . implode('\', \'', $ms_data) . '\'';
$query = mysqli_query($sqlConnect, " INSERT INTO " . T_MESSAGES . " ({$fields}) VALUES ({$data})");
if ($query) {
$message_id = mysqli_insert_id($sqlConnect);
return $message_id;
} else {
return false;
}
}
がある少なくとも二つの悪い問題あなたのコード:1)グローバルを使用しています(これらのグローバルのいくつかがすでに使用されているかどうかはわかりません。関数に変数を渡す必要があります。あなたはあなたのデータベースへのアクセスをいくつかのクラスにカプセル化し、生のmysqli *クエリはカプセル化しないでください。 3) 'strlen($ ms_data ['text'])<0)'何ですか?何かのstrlenは<0 4)何かをデバッグするためにvar_dump($変数)を使用することを学ぶ – strangeqargo
@strangeqargo私はコードの一部を削除しました、チャットのコード上のすべてがうまくいきます、私はちょうど追加したい"ケース"ので、例えば、ユーザーが書く場合、彼はエコーを受信します。 – filipe
置き換えたい単語をエコーしないでください。例: '$ ms_data = preg_replace( '/ 1 \ b/i'、 'one'、$ ms_data);' – DarkBee