繁体   English   中英

在mysql_query字符串中使用PHP变量

[英]Using PHP variable in mysql_query string

好,朋友们。 将PHP变量传递给mysql_query字符串时,我有一个复杂的问题。

$ _GET ['日期']; 传递时将包含类似:2015_01_07_1

我需要使用$ week变量将GET数据传递给表名。

<?php

    $week= $_GET['date'];

    $con=mysqli_connect("localhost","root","mypassword","beerhandpoker");
    // Check connection
        if (mysqli_connect_errno()) {
          echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }

    $result = mysqli_query
    ($con,
        "SELECT games_brixx_gastonia_'$week'.rank, players_brixx_gastonia.name, games_brixx_gastonia_'$week'.points
        FROM games_brixx_gastonia_'$week', players_brixx_gastonia
        WHERE games_brixx_gastonia_'$week'.email = players.email
        ORDER BY games_brixx_gastonia_'$week'.rank
        LIMIT 20"
    );

    echo "<table>
        <tr>
        <th>Rank</th>
        <th>Name</th>
        <th>Points</th>
        </tr>";

    while($row = mysqli_fetch_array($result)) {
        echo "<tr>";
        echo "<td>" . $row['rank'] . "</td>";
        echo "<td>" . $row['name'] . "</td>";
        echo "<td>" . $row['points'] . "</td>";
        echo "</tr>";
    }

    echo "</table>";

    mysqli_close($con);
    ?>

将字符串文字更改为:

"SELECT games_brixx_gastonia_$week.rank,    
players_brixx_gastonia.name,games_brixx_gastonia_$week.points
FROM games_brixx_gastonia_$week, players_brixx_gastonia
WHERE games_brixx_gastonia_$week.email = players_brixx_gastonia.email
ORDER BY games_brixx_gastonia_$week.rank
LIMIT 20"

你必须删除'字符; 它将作为games_brixx_gastonia_'2015_01_07_1'.rank进入db

你为什么单引号? 它应该工作:

SELECT games_brixx_gastonia_{$week}.rank, players_brixx_gastonia.name, games_brixx_gastonia_{$week}.points
FROM games_brixx_gastonia_{$week}, players_brixx_gastonia
WHERE games_brixx_gastonia_{$week}.email = players.email
ORDER BY games_brixx_gastonia_{$week}.rank
LIMIT 20

无论如何,我宁愿建议你使用声明代替。 看看: http//php.net/manual/pt_BR/mysqli.prepare.php

只需删除'字符。 否则,查询将尝试从表games_brixx_gastonia_'2015_01_07_1'获取数据,而不是game_brixx_gastonia_2015_01_07_1。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM