【发布时间】:2016-01-16 05:17:32
【问题描述】:
我正在使用以下代码尝试将<form> 中用户提供的值插入到 sql 表中。在 PHPMyAdmin 中使用 INSERT 查询时,插入成功,但在下面的 php.ini 中插入不成功。连接数据库成功。
<?php
$servername = "localhost";
$username = "***";
$password = "***";
$db_name = "my_db";
$trip;
$odom;
$gals;
$ppg;
if (isset($_REQUEST['trip'])){
$trip = $_REQUEST['trip'];
$odom = $_REQUEST['odom'];
$gals = $_REQUEST['gals'];
$ppg = $_REQUEST['ppg'];
}
// Create connection
$conn = mysqli_connect($servername, $username, $db_name, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully ";
在这里,我尝试在查询周围使用双引号来形成一个字符串;我也省略了引号,无济于事。此外,在 VALUES 中,我也尝试过单引号和省略号,但均未成功。变量是双精度值,而不是字符串。
$vals = "INSERT INTO `Log` (`Trip`, `Odometer`, `Gallons_Pumped`,
`Price_Gallon`)
VALUES ('$trip', '$odom', '$gals', '$ppg')";
$retval的返回值为false,但没有提供错误。
$retval = mysql_query($vals);
if ($retval) {
echo "New record created successfully";
} else {
echo "Error: " . $vals . "<br>" . $retval->error;
}
mysql_close($conn);
?>
我的语法不正确吗?如果不是,为什么 INSERT 查询不成功?
【问题讨论】:
-
混合两个扩展是个问题...
-
示例如何使用 PDO stackoverflow.com/questions/34781748/…
-
mysqli_connect以及后续对有效连接的测试也存在问题。如果连接失败,$conn将不是 mysqli 连接对象,也不会有connect_error方法函数/方法。在$conn = mysqli_connect(之后(如您的代码所示),您需要测试if(!$conn){。 -
试试 echo $vals;看看查询是否正确..
标签: php mysql sql-insert