所以请原谅编码,如果它不完全达到标准,但我只是挂了MYSQL并转向MYSQLI(程序因为我发现它更容易,因为我还没有学习面向对象,我是新手这个) 我的问题是我在一个与MYSQL完美配合的小网站上有一个简单的“发票”页面。当我切换到MYSQLI(我确定我遗漏了一些明显的东西)时,我可以回显所有变量,检查了正确的数据库连接,但它不会将任何内容插入到数据库中。 这是有问题的函数,它在提交“填充发票”表单后调用,同样,所有$ _POST变量都可以在函数中正确回显。
function createinvoice($billto,$cust,$addr,$desc,$desccost,$labcost,$comment){
$taxrate=".13";
$kaboom=str_replace(array("\r\n","\r","\n"),"<br />",$desccost); //keep original desccost for database
$kaboom=mysqli_real_escape_string(nl2br($kaboom));
$kaboom=nl2br($kaboom);
$lines=explode("<br />",$kaboom);
$matcost=0;
for($i=0;$i < count($lines);$i++)
{
$matcost=$matcost+$lines[$i];
}
$fullcost=$matcost+$labcost;
$taxdue = $fullcost*$taxrate;
$totaldue=$fullcost+$taxdue;
$desc=mysqli_real_escape_string($desc);
mysqli_query($con,"INSERT INTO invoice(customerID,customerName,customerAddr,description,desccost,material,labour,taxdue,totaldue,comment)
VALUES('$billto','$cust','$addr','$desc','$desccost','$matcost','$labcost','$taxdue','$totaldue','$comment')");
mysqli_free_result($result);
mysqli_close($con);
}
编辑:显示连接字符串
if(include("/../dbinvoice.php")){echo "DB file connected";}
$con = mysqli_connect($dbhostname, $dbuser, $dbpass, $dbname);
if (mysqli_connect_errno($con)){echo "No MYSQL connection: ".mysqli_connect_error();exit();}
每次页面加载时,我都会收到一条消息“DB file connected”,显示它读取了dbinvoice.php文件,并且我没有收到带有连接的错误消息。我已经用phpinfo()验证了mysqli在我的机器上(webmatrix测试)。