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)你使用全局變量(我們不知道這些全局變量是否已經被使用,你應該把變量傳遞給函數,你應該僅在小腳本中使用全局變量2)您應該將數據庫訪問封裝到一些類中,而不是原始的mysqli *查詢。 3)'strlen($ ms_data ['text'])<0)'什麼? strlen of anything can not be <0 4)學會使用var_dump($ variable)來調試一些東西 – strangeqargo
@strangeqargo我已經刪除了部分代碼,聊天代碼上的所有內容都工作的很好,我只想添加例如,「案例」,如果用戶寫!幫助,他會收到回聲。謝謝你的回答 – filipe
你不應該回應你想要替換的單詞。只需替換它們即可'$ ms_data = preg_replace('/ 1 \ b/i','one',$ ms_data);' – DarkBee