2017-03-27 153 views
-2

所以我已经调试了几个小时,似乎无法解决问题。我有一个表单,它将会话信息导入会话,然后从会话进入一个类。为什么我的php函数不能插入数据库?

形式 - >会话级>类 - >数据库

类里面那里有一个功能,看起来像这样:

function lagre($kunde) 
{ 
    $navn = $kunde->GetNavn(); 
    $telefon = $kunde->GetTelefon(); 
    $epost = $kunde->GetEpost(); 
    $antall = $kunde->GetAntall(); 

    $db = mysqli_connect("localhost","root","","Billett"); 
    if($db->connect_error) 
    { 
     die("Couldn't connect"); 
    } 
    else { 
     echo "Connected"; 
    } 

    $sql = "INSERT INTO `Billett`.`Billett` (`BillettID`, `Navn`, `Telefon`, `Epost`, `Antall`) VALUES (NULL, '$navn', '$telefon', '$epost', '$antall')"; 

    $resultat = mysqli_query($db,$sql); 

    if(!$resultat) 
    { 
     echo "<br> Values not inserted"; 
    } 
    else { 
     echo "<br> Values inserted"; 
    } 

} 

的问题是,该值不插入到数据库中。我无法弄清楚为什么。有任何想法吗?

+6

你不知道什么是错误的,因为你不检查中的错误你的代码。永远不要假设代码总是完美无缺地工作。使用['mysqli_error()'](http://php.net/manual/en/mysqli.error.php)从数​​据库中获取详细的错误信息。 –

+0

当我添加echo mysqli_error($ resultat);没有打印。这是否意味着没有错误或只是我不会显示? – poppynor

回答

-1

你尝试不同的方式

$sql = "INSERT INTO `Billett`.`Billett` (`BillettID`, `Navn`, `Telefon`, `Epost`, `Antall`) VALUES (NULL, '".$navn."', '".$telefon."', '".$epost."', '".$antall."')"; 
+0

*这怎么解决他们的问题?你应该解释为什么这应该解决他们的问题。只是改变他们建立查询的方式不应该解决*任何问题*。 –

-1

写您正在使用Autocommit?如果没有,那么你需要将数据提交到数据库,否则你的INSERT不沾:

/* commit transaction */ 
if (!$mysqli->commit()) { 
    print("Transaction commit failed\n"); 
    exit(); 
} 

来自实例PHP documentation

+0

除非它们显式关闭自动提交,并且它们没有指示它们,否则自动提交默认设置为on。 –

相关问题