1

因此,如果编码不完全符合标准,请原谅编码,但我只是掌握了 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 文件已连接”,显示它已读取 dbinvoice.php 文件,但连接时我没有收到错误消息。我已经用 phpinfo() 验证了 mysqli 在我的机器上(webmatrix 测试)。

4

0 回答 0