Php 如果插入文本,则获取响应
我正在尝试添加一个切换到Php 如果插入文本,则获取响应,php,Php,我正在尝试添加一个切换到ms_data['text'],以防用户在聊天中键入一些单词,但它不起作用 有人能帮我解决这个问题吗 function RegisterMessage($ms_data = array()) { global $wo, $sqlConnect; if ($wo['loggedin'] == false) { return false; } if (empty($ms_data)) { return false
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;
}
}
函数注册表消息($ms\u data=array()){
全局$wo,$sqlConnect;
如果($wo['loggedin']==false){
返回false;
}
if(空($ms_数据)){
返回false;
}
if(空($ms_数据['text'])| |!isset($ms_数据['text'])| | strlen($ms_数据['text']))<0){
if(空($ms_数据['media'])isset($ms_数据['media']))| strlen($ms_数据['media'])小于0){
返回false;
}
}
如果(isset($ms_数据['text'])){
开关($ms_数据['text']])){
案例“1”:
呼应“一”;
打破
案例“2”:
呼应“两个”;
打破
案例“3”:
呼应“三个”;
打破
}
}
$fields='''''''。内爆(''''',数组_键($ms_数据))'''';
$data='\''。内爆('\','''.$ms\U data)。'\'';
$query=mysqli_query($sqlConnect,“插入到“.T_消息中。”({$fields})值({$data})”);
如果($query){
$message\u id=mysqli\u insert\u id($sqlConnect);
返回$message\u id;
}否则{
返回false;
}
}
您的交换机不工作,因为您有和额外的']':
替换:
switch ($ms_data['text']]) {
作者:
您的代码至少有两个问题:1)您使用的是全局变量(我们不知道这些全局变量是否已经被使用,您应该将变量传递给函数,您应该只在小脚本中使用全局变量2)您应该将数据库访问封装到某个类,而不是原始的mysqli*查询。3)
strlen($ms_data['text'])<0)
what?任何东西的strlen都不能<0 4)学会使用var_dump($variable)进行调试something@strangeqargo我已经删除了部分代码,关于聊天代码的一切都很好,我只想添加“case”,例如,如果用户写!他将得到回音。谢谢你的回答。你不应该重复你想替换的词。只需替换它们,例如,$ms_data=preg_replace('/1\b/i','one',$ms_data)代码>
switch ($ms_data['text']) {