【问题标题】:Connect to database php连接到数据库 php
【发布时间】:2017-01-31 14:43:01
【问题描述】:

连接数据库的正确方法是什么?我没有收到错误,但也许我的连接没有正确使用我正在使用 mysqli 这是我的代码

 <?php 
 require_once("configur.php");

 $mysqli = new mysqli(localhost, root, password, user);

 $query_image = 'INSERT INTO fun_table (images1, images2, images3, images4) 
values( "' . $_FILES['file1']['name'] . '",
        "' . $_FILES['file2']['name'] . '",
        "' . $_FILES['file3']['name'] . '",
        "' . $_FILES['file4']['name'] . '"
   )';


   if ($mysqli->query($query_image) === TRUE) {

   echo "<script language='javascript'>\n";
   echo "alert('Upload successful!')";
   echo "</script>\n";
 } else {
  echo "Error updating record: " . $conn->error;
 }

    $mysqli->close();

   ?>

【问题讨论】:

  • localhost, root, password, user 那些已经被定义为常量了,对吧?
  • 这个表格在哪里?
  • 应该是host, user, password, database
  • 请使用echo mysql_errno($mysqli) . ": " . mysql_error($mysqli) . "\n"; 并检查问题。
  • 你应该使用prepared Statments,因为这个代码容易受到SQL注入的攻击。

标签: php mysqli


【解决方案1】:

$mysqli = new mysqli(localhost, root, password, user);

您需要定义它们或将它们放在引号中。

喜欢:

$servername = 'localhost';
$username = 'user123';
$password = 'helloworld';
$dbname ="testdatabase";

 $conn = mysqli_connect($servername, $username, $password, $dbname);

或者

 $conn = mysqli_connect("localhost", "user123", "helloworld", "testdatabase");

【讨论】:

  • OP 评论说他在此处发布时出于安全原因替换了这些值。
  • 是的,我在发布后读到了,但由于他替换了没有引号的值,我仍然可以想象这是问题所在。但如果不是,我会删除答案。
【解决方案2】:

mysqli 已过时,不要使用它。相反,您可以使用 PDO 进行连接,例如:

<?php
    try
    {
        $db = new PDO("mysql:host=".localhost."; dbname=".db_name, root, "");
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO:: ERRMODE_EXCEPTION);
    }
    catch (PDOException $exception)
    {
        die('Error: '.$exception);
    }
?>

【讨论】:

    猜你喜欢
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2019-04-15
    • 2015-01-24
    • 2014-01-25
    • 2016-03-27
    相关资源
    最近更新 更多