簡體   English   中英

Ajax,PHP,SQL和JavaScript

[英]Ajax, PHP, SQL, and JavaScript

我遇到了一個找不到答案的問題,我在這里很少問問題,但我很沮喪。 任何幫助將不勝感激。

這是接收Ajax調用的PHP

<?php
    session_start();
    $_SESSION["my_data"] = $_POST['action'];

    $DB_HOSTNAME = 'localhost';
    $DB_USERNAME = 'username';
    $DB_PASSWORD = 'password';

    $link2 = mysqli_connect($DB_HOSTNAME,$DB_USERNAME,$DB_PASSWORD) or die('Unable to establish a DB1 connection');
    mysqli_select_db($link2, '$DB_USERNAME');

    $orderQuery = mysqli_query($link2, "SELECT * FROM table WHERE id='".$_SESSION['my_data']."'");
    $orderQuery = mysqli_fetch_assoc($orderQuery);

    $orderInfo = "
        <table class='table table-striped'>
        <tbody>
            <tr>
                <td>#: </td>
                <td>". $_SESSION['my_data'] ."</td>
            </tr>
            <tr>
                <td> Full name: </td>
                <td>". $orderQuery['firstname'] . " " . $orderQuery['lastname'] ."</td>
            </tr>
            <tr>
                <td> Address: </td>
                <td> ". $orderQuery['shipping_address_1'] ."<br> ". $orderQuery['shipping_city'] . " " . $orderQuery['shipping_zone'] . " " . $orderQuery['shipping_postcode'] ." </td>
            </tr>
            <tr>
                <td> Card Expiry Date Month: </td>
                <td> 08 </td>
            </tr>        
        </tbody>
    </table><br>
    ";

    echo $orderInfo/* . $_POST['action']*/;   ?>

這是進行調用的腳本。

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>

    var myWindow;
    function myFunction() {
    myWindow = window.open('', '_blank');
    myWindow.document.write("<link rel='stylesheet' type='text/css' href='stylesheet.css'>");

    var orderNum;
    orderNum = document.getElementsByClassName('summary_value')[0].innerHTML;
    orderNum = orderNum.replace("#", "");

    $.ajax( { type : 'POST',
      data : {'action':orderNum},
      url  : 'process.php',
      success: function ( data ) {
        myWindow.document.write( data );
      },
      error: function ( xhr ) {
        alert( "error" );
      }
    });

    myWindow.document.write("<br>");
    myWindow.document.write(document.getElementById("payInfor").innerHTML);
    }

</script>
<button onclick='myFunction()' class="btn btn-default">Print Pay Info</button>

這可能是一個簡單的問題,但我看不到。

我知道Ajax正在工作,因為它顯示了一些信息($_SESSION['my_data']) ,所以我認為這與我的SQL語句有關,但語法看起來正確。

乍一看,我認為mysqli_select_db($link2, '$DB_USERNAME'); 這是錯誤。

它必須是mysqli_select_db($link2, $DB_USERNAME); mysqli_select_db($link2, $DB_NAME);

mysqli_select_db()期望參數一為連接,參數二為數據庫名稱。 就您而言,您正在傳遞'$DB_USERNAME' 因此,由於單引號,您的代碼將看起來連接到名為'$DB_USERNAME'數據庫。 改為將其更改為數據庫名稱。 $DB_NAME'database_name'應該都可以。 在開發模式下,嘗試啟用error_reporting(E_ALL)來捕獲此類錯誤。

嘗試將此mysqli_fetch_assoc替換為mysqli_fetch_array

($link2, "SELECT * FROM table WHERE id='".$_SESSION['my_data']."'")

($link2, "SELECT * FROM table WHERE id=".$_SESSION['my_data']."")

注意:刪除ID的單引號('')

暫無
暫無

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

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