PHP语法错误

标签 php mysql sql

你好,我正在尝试将我所有的 php 脚本淹没到一个新的 html 模板中。该脚本正在工作,因为我将其交换到新模板,但现在它已停止工作...... 我想也许我可能缺少一个 ' 或有一个空格,有些是我不应该的

这是我的页面

<?php
include 'config.php';

$myName = $_POST['myName'] ;

$mydropdown = $_POST['mydropdown'] ;


$_POST['mydropdown'] = mysql_real_escape_string($_POST['mydropdown']);
$_POST['myName'] = mysql_real_escape_string($_POST['myName']);


$sql = "SELECT * FROM user_pokemon WHERE id='".$_POST['myName']."'";
$result = mysql_query($sql) or die(mysql_error());
$battle_get = mysql_fetch_array($result);


  $result = mysql_query("UPDATE user_pokemon SET slot=".$_POST['mydropdown']." WHERE id = '".$_POST['myName']."'")
or die(mysql_error());
?>

在 config.php 文件中,我有 sql 连接和 session 启动,它在其他页面上运行良好,所以我不认为我收到此错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = ''' at line 1

我有一个 php 表单,可以发布到此页面。

echo '

                                <div class="auction_box" style="height:150px">

                                <form name="myform" action="http://pokemontoxic.net/newy/testing.php" method="POST">
                                <p> </p>
                                <p> </p>
                                <p> </p>

                                        <img src="http://pokemontoxic.net/'.$battle_get['pic'].'" height="96px" width="96px"/><br/>


                                    Name:<br/>' .$v->pokemon. '<br/>
                                    Level:' .$v->level. '<br/>
                                    Exp:' .$v->exp. '<br/>

    Slot you want to put your pokemon in


<select name="mydropdown">

<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>


<input type="hidden" name="myName" value="' . $v->id . '" />
                                <input type="submit" value="Submit" />




                                </form>

这工作正常,但将信息发送到代码的顶部。

最佳答案

让我看看。我认为这段代码是多余的,无需更改它

$myName = $_POST['myName'] ;
$mydropdown = $_POST['mydropdown'] ;
$_POST['mydropdown'] = mysql_real_escape_string($_POST['mydropdown']);
$_POST['myName'] = mysql_real_escape_string($_POST['myName']);

对此:

$myName = mysql_real_escape_string($_POST['myName']);
$mydropdown = mysql_real_escape_string($_POST['mydropdown']);

在您的选择查询中尝试此操作,如果它不能解决请告诉我错误:

$sql = "SELECT * FROM user_pokemon WHERE id='{$myName}'";

关于PHP语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9312622/

相关文章:

javascript - API 消耗换行

javascript - jQuery 自动完成 PHP Mysql 发布不同字段

mysql desc 对我不起作用

sql - DB 记录属性的整数与字符与 Wordpress 架构

php - 如何在 Laravel 4 中使用参数和 CASE 语句进行更新查询

php - sleep 不到一秒的正确跨平台方法是什么?

php - SQL 查询无法正常运行,完美的查询没有输出

mysql - 没有明显锁的 ActiveRecord "Mysql::Error: Lock wait timeout exceeded"

sql - INSERT IF NOT EXISTS 类型函数供我使用而不将列转换为主键?

sql - 如何每天在 Azure 数据库上运行 T-SQL 查询