weixin_33695082 2017-09-14 05:45 采纳率: 0%
浏览 46

求助:关于接收Ajax调用的PHP?

我遇到了一个我找不到答案的问题,我很少在这里问问题,但我很困惑。如有任何协助,将不胜感激。

这是接收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语句有关,但语法看起来还是正确的。

  • 写回答

3条回答 默认 最新

  • DragonWar% 2017-09-14 05:50
    关注

    mysqli_select_db() expects parameter one to be the connection and parameter two to be the database name. In your case you are passing '$DB_USERNAME'. So your code will look to connect to database named '$DB_USERNAME' because of the single quotes. Change it to the database name instead. Either $DB_NAME or 'database_name' should work. While in development mode, try enabling error_reporting(E_ALL) to catch errors like this.

    评论
  • weixin_33728708 2017-09-14 05:52
    关注

    At first glance i think that mysqli_select_db($link2, '$DB_USERNAME'); here is the error.

    it must be mysqli_select_db($link2, $DB_USERNAME); or mysqli_select_db($link2, $DB_NAME);

    评论
  • weixin_33725239 2017-09-14 06:49
    关注

    try to replace this mysqli_fetch_assoc with mysqli_fetch_array

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

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

    note: remove single quote (' ') for id

    评论

报告相同问题?

悬赏问题

  • ¥20 ERR_CACHE_MISS 确认重新提交表单
  • ¥20 关于vba使用HTMLfile执行js函数问题
  • ¥60 悬赏求解,通过实时现场摄像头的视频图像识别其他对家打出的麻将牌,识别麻将牌,识别牌墙位置,通过识别对家打出了什么牌
  • ¥15 关于#GPU jetson#的pcie驱动开发问题,如何解决?
  • ¥15 stm32f103zet6 串口5无法收发数据
  • ¥15 关于C语言使用线程队列实现多线程并发
  • ¥15 这个运行,错误在哪里呀,大家看看吧,教导我
  • ¥15 advanceinstaller对话框设置
  • ¥100 正常上网,内部网页无法打开
  • ¥15 组件库引入并使用在若依框架未展示