簡體   English   中英

將localhost遷移到服務器時查詢數據庫時出錯

[英]Error querying database when migrating localhost to server

所以我創建了一個表單,可以將地點,類別和圖片添加到我的數據庫中。 這一切都在我的localhost上工作正常,並將數據正確插入我的數據庫。 但是,當我在我的網站上放置表單時,我只是得到了“錯誤查詢數據庫”。 信息。

我已經更改了連接文件,因此他們也擁有關於我的服務器,數據庫名,用戶名和密碼的正確信息。

我以兩種不同的方式連接到我的數據庫。 一個使用mysqli:

<?php
$dbc = mysqli_connect("localhost","root","","ssdb") or die (mysqli_connect_error() );
mysqli_set_charset($dbc, 'utf8'); 
?>

另一個使用mysql:

<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("ssdb",$con);
?>

在我的表單上,我正在連接到我的數據庫以檢索您可以選擇的類別,使用mysqli函數,以便一個應該工作?

我已經讀過mysql在php版本7+上不起作用,但我的網站目前正在運行php 5.6..something。

我的表單預覽可以在這里看到: http//stephanolsen.dk/imageupload/upload.php

我不知道它是否有幫助,但我的代碼可以在下面看到:

我的表格:

<?php include('header');?>

</head>
<body>
  <div class="wrap">
    <div class="container">
      <div class="page-header">
        <h1>Tilføj sted <small><br>Skriv adresse og beskrivelse</small></h1>
      </div>
      <form id="form" method="post" name="formsub" action="formaction.php" enctype="multipart/form-data">
        <div class="form-group">
          <label for="title">Titel</label>
          <input type="text" name="title" class="form-control" id="title" placeholder="Titel">
        </div>
        <div class="form-group">
          <label for="adresse">Adresse</label>
          <input type="text" name="adresse" class="form-control" id="adresse" placeholder="Adresse">
        </div>
        <div class="form-group">
          <label for="beskrivelse">Beskrivelse</label>
          <input type="text" name="beskrivelse" class="form-control" id="beskrivelse" placeholder="Beskrivelse">
        </div>

<!-- Choose category! -->

<?php
include('includes/connectdb.php');

/* Selects id and name from the table 'category' */
$query = "SELECT id, name FROM category";
$result_category = mysqli_query($dbc,$query);
?>

<!-- creating a form -->
          <label for="Category">Category</label>
          <br />
            <!-- iterate through the WHILE LOOP  -->
            <?php while($row = mysqli_fetch_array($result_category)): ?>
              <!-- Echo out values {id} and {name}   -->
              <input type="checkbox" name="category[]" value=" <?php echo $row['id']; ?> "><?php echo $row['name'] . '<br />'; ?>
            <?php endwhile; ?>

<!-- Upload image! -->

        <br/>
            <input type="file" name="image" />
            <br/><br/>

           <input type="submit" name="Submit" value="Submit" class="btn btn-default"/>       
         </form>

    </div> <!-- END CONTAINER -->
  </div> <!-- END WRAP -->
<br />
</body>
</html>

行動檔案:

<?php
  include('includes/connectdb.php');

  $beskrivelse = $_POST['beskrivelse'];
  $adresse = $_POST['adresse'];
  $title = $_POST['title'];
  $query = "INSERT INTO sted (title, beskrivelse, adresse)  VALUES ('$title','$beskrivelse', '$adresse')";
  mysqli_query($dbc,$query) or die('Error querying database.');
  $last_id = mysqli_insert_id($dbc);

  echo '<div class="wrap">';
  echo  '<div class="container">';
  echo      '<h4>Place has been added!</h4>';
  echo  '</div>';
  echo '</div>';
        ?> 

<?php
  include('includes/connect.php');
$checkbox = $_POST['category'];

  for ($i=0; $i<sizeof($checkbox);$i++) {
    $query = "INSERT INTO placecategory (place_id, category_id) VALUES ('$last_id','".$checkbox[$i]."')";
    mysql_query($query) or die(mysql_error());
  }
  echo "Category is inserted";

?>

<?php
    ini_set('mysql.connect_timeout',300);
    ini_set('default_socket_timeout',300);
?>

        <?php
      if(getimagesize($_FILES['image']['tmp_name'])== FALSE)
      {
        echo "Please select an image.";
      }
      else
      {
        $image= addslashes($_FILES['image']['tmp_name']);
        $name= addslashes($_FILES['image']['name']);
        $place_id=$last_id;
        $image= file_get_contents($image);
        $image= base64_encode($image);
        saveimage($name,$image,$place_id);
      }

        displayimage();
        function saveimage($name,$image,$place_id)
        { 
        include('includes/connect.php');
      $qry="INSERT INTO pictures (name,image,place_id) values ('$name','$image','$place_id')";
      $result=mysql_query($qry,$con);
      if($result)
      {
                //echo "<br/>Image uploaded.";
            }
            else
            {
                //echo "<br/>Image not uploaded.";
            }
    }
            function displayimage()
            {
        include('includes/connect.php');
      $qry="SELECT * FROM pictures";
      $result=mysql_query($qry,$con);
      while($row = mysql_fetch_array($result))
      {
        echo '<img height="300" width="300" src="data:image;base64,'.$row['image'].' "> ';
      }
      mysql_close($con); 
    }
  ?>

connectdb.php

<?php
# Connect on localhost for user root
# with password xxxxxxx to database userloginwebsystem 

$dbc = mysqli_connect("localhost","root","","ssdb") or die (mysqli_connect_error() );

#Display MySQL version and host


#if(mysqli_ping($dbc))
#{ echo 'MYSQL Server' .mysqli_get_server_info($dbc). ' <br> on ' . mysqli_get_host_info($dbc); }


# Set encoding to match PHP script

mysqli_set_charset($dbc, 'utf8'); 
?>

connect.php

<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("ssdb",$con);
?>

除非您有VM,否則您可能需要使用托管公司提供給您的代碼(IP地址,用戶名等)連接到您的SQL數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM