没有以mysql数据库格式添加数字(数字-数字)


Number not getting added in mysql database format ( number - number )

我需要在数据库中添加数据,无论如何,格式必须像

0-0或1-5

我试过=>mysqli_real_escape_string();

但没有起作用。

我还试着把符号改成/,*,+,exp.

PHP 
$dataBase->_insertDataBase('tableNaam', $input);
function _insertDataBase($tabel,$input){ 
    $velden='';
    $waarden='';
    $i=0;
    foreach($input AS $key=>$value){
        $i=$i+1;
        if($i !== count($input)){
            $a=', ';
        }else{
            $a='';
        }            
        $velden.=$key.$a;
        $waarden.=$value.$a;
        unset($a);
    }  
    $sql = "INSERT INTO `$tabel`($velden) VALUES ($waarden)";
    $this->_conn()->query($sql);
}

问题是您的SQL语句将等式5-1作为一个值,因此服务器正在进行计算并按照您的要求插入4。您需要通过用撇号(即"5-1")将值括起来来告诉它这是一个文字字符串。

替换:

foreach ($input AS $key => $value) {
    $i = $i + 1;
    if ($i !== count($input)) {
        $a = ', ';
    } else {
        $a = '';
    }
    $velden .= $key . $a;
    $waarden .= $value . $a;
    unset($a);
}

带有:

$velden = array();
$waarden = array();
foreach ($input AS $key => $value) {
    $velden[] = $key;
    $waarden[] = $value;
}
$velden = implode(',', $velden);
$waarden = "'" . implode("','", $waarden) . "'";

甚至可能:

$velden = array_keys($input);
$waarden = array_values($input);
$velden = implode(',', $velden);
$waarden = "'" . implode("','", $waarden) . "'";