【问题标题】:PHP/SQL - No Database Selected [closed]PHP / SQL - 未选择数据库[关闭]
【发布时间】:2014-08-12 19:06:45
【问题描述】:

我已经测试了我与数据库的连接并且它运行良好,直到我尝试插入数据库...并且我收到错误未选择数据库。提示/帮助将不胜感激,因为我对 PHP 还是很陌生!

我的代码如下:

<?php
    //connect to the database
    $con = new mysqli("localhost", "admin", "quixtar1");
    $con->select_db("attendance");
    //display success or failure
    if (mysqli_connect_errno()){
    echo "Failed to connect to MySQL: " . mysql_connect_error();
    }
    $ibonum = $_POST['num'];
    $course = $_POST['course'];

    $insert = "INSERT INTO tbltest (num, course) VALUES ($ibonum, $course)";

    $result = mysql_query($insert);
    if($result){
    echo("Success!");
    }
    else{
    echo ("Fail!  <br/>" . mysql_error());
    }
?>

【问题讨论】:

  • 你正在混合使用 mysql 和 mysqli 函数
  • mysqli != mysql。所以如果你用一个,就用它到底
  • 另外,这个$course - 如果不是int,请引用它。
  • @JohnConde Cha-ching!杜松子酒补品?不。
  • 顺便说一句,将 $_POSTS 直接注入数据库是你能做的更糟糕的事情......但这不是最初的问题,只是一个必须警告

标签: php mysql sql


【解决方案1】:

你的代码应该是

<?php
//connect to the database
$con = new mysqli("localhost", "admin", "quixtar1", "attendance");
//display success or failure
if ($con){
    echo "Failed to connect to MySQL: " . $con->connect_error;
    exit;
}
$ibonum = $con->real_escape_string(htmlspecialchars($_POST['num']));
$course = $con->real_escape_string(htmlspecialchars($_POST['course']));

$insert = "INSERT INTO tbltest (num, course) VALUES ('$ibonum', '$course')";

$result = $con->query($insert);
if($result){
  echo("Success!");
}
else{
echo ("Fail!  <br/>" . $con->error);
}

【讨论】:

  • mysql_error()
  • 感谢指点。
  • 请记住,mysqli_mysql_ 函数不能在同一页面/执行中混合在一起。
  • 是的,我知道,但我看到的主要问题是数据库选择...
猜你喜欢
  • 1970-01-01
  • 2013-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
  • 2015-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多