我对mysql有这个非常奇怪的问题。我可以插入,并创建表。但是我无法选择任何东西,当我尝试时它不显示任何错误,它只是回应我的行"错误:"
list1={"node1": "test1", "node2": "test2", ...}
但是当我使用这个
插入数据库时getDiff("validTable");
function getDiff($regNr) {
global $servername, $username, $password, $dbname;
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//todo
$sql = "SELECT * FROM $regNr ORDER BY id LIMIT 1";
$result = $conn->query($sql);
if ($result === TRUE) {
echo "done";
} else {
$error = $result->error;
echo "Error: " . $error;
}
$conn->close();
}
它工作得很好,花花公子。我做错了什么?!这让我发疯了!
答案 0 :(得分:0)
<强> mysqli_query 强>
失败时返回FALSE。成功的SELECT,SHOW,DESCRIBE或 EXPLAIN查询mysqli_query()将返回一个mysqli_result对象。对于 其他成功的查询mysqli_query()将返回TRUE。
根据这个条件
np.multiply
您从查询中获得if ($conn->query($sql) === TRUE) {
,这不等于TRUE,并且您总是进入错误状态
要从查询中获取数据,请使用 fetch_array
mysqli_result
要获取错误表单查询,我们使用$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0]);
而非$conn->error
它需要您的连接变量而非结果变量
答案 1 :(得分:0)
它仅显示“错误”,因为您的query
成功并返回mysql object
,该True
不等于done
,因此它不会回显 if ($conn->query($sql) === FALSE) {
echo "Error: " . $conn->error;
} else {
echo "done";
}
见(http://php.net/manual/en/mysqli.query.php)
失败时返回FALSE。成功的SELECT,SHOW,DESCRIBE或 EXPLAIN查询mysqli_query()将返回一个mysqli_result对象。对于 其他成功的查询mysqli_query()将返回TRUE。
使用以下代码更改代码以使其正常工作:
if ($result = $conn->query($sql) === FALSE) {
基本上将if转为检查FALSE是否为FALSE。
很可能您也希望将结果存储在如下变量中:
$row = $result->fetch_array()
稍后使用$row = $result_fetch_assoc()
或 $("#mytextbox").focus(function() {
// this is when textarea is focused and button should show
$("#whats-new-options").show();
});
获取数据。