2016-02-05 82 views
1

我有以下php代码插入数据到mysql并同时发送电子邮件。电子邮件正在发送,但数据没有被插入到数据库中。无法使用MySqli插入数据插入查询

<?php 
$connection = mysqli_connect("localhost", "username", "password", "database_name"); 


$cName = $_POST['cName']; 
$contact = $_POST['contact']; 
$address = $_POST['address']; 


$query = mysqli_query($connection,"INSERT INTO registration(CompanyName,Contact,Address) VALUES('$cName','$contact','$address')"); 

$message = "Registration Details"; 
$message .= $cName; 
$message .= $contact; 
$message .= $address; 

mail("[email protected]", "Registration Email", $message); 


mysql_close($connection); 


?> 

这个代码在我的本地机器上使用localhost工作正常。当我把它放在网上时,问题就出现了。电子邮件正在发送,但没有插入数据。请帮助我..

+1

请调试$连接是否返回资源ID或不.. –

+1

可能不会引起问题,但在最后使用了'mysql_close()',而它应该是'mysqli_close()'。 –

+2

确保$ contact和$ cName中没有'in。 例如联系人:“奥康奈尔名字”。 $ contact = mysqli_real_escape_string($ connection,$ contact); –

回答

-1

只需修改您的代码以调试错误。这是你正确的方式完整的代码。

<?php 
$connection = mysqli_connect("localhost", "username", "password", "database_name"); 

// Check connection 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

// Perform a query, check for error 
if (!mysqli_query($connection,"INSERT INTO registration(CompanyName,Contact,Address) VALUES('".$cName."','".$contact."','".$address."')")) 
{ 
echo("Error description: " . mysqli_error($connection)); 
} 

$message = "Registration Details"; 
$message .= $cName; 
$message .= $contact; 
$message .= $address; 

mail("[email protected]", "Registration Email", $message); 

mysqli_close($connection); 
?>