将整数转换为字符串不起作用

时间:2011-12-06 14:15:12

标签: php html string integer

我有一点问题......我到处都查找如何将整数转换为字符串。我找到了几种方法,但没有成功。所以现在我不知道问题可能是什么。我想我应该问你是否还有其他人和我一样有问题。

那么什么行不通:

$inputname = rand(1, 10000);
    $inputname = "$inputname";
    echo '
        <h3>Translate to English</h3>
        <form name="word" method="post" action="">
            <table border="0">
                <tr><td><label>Swedish:</label></td><td width="200"><input type="text" name="swe" maxlength="100" value="'.$swe.'" readonly /></td></tr>
                <tr><td><label>English:</label></td><td width="200"><input type="text" name="'.$inputname.'" maxlength="100" /></td></tr>
                <tr><td></td><td><input type="submit" name="nextword" value="Next Word" /></td></tr>
            </table>
        </form>
    ';

    if (isset($_POST['nextword'])) {
        $eng = $_POST[$inputname];
        $swe = $_POST['swe'];
        $word = $row['id'];
        if($eng == $row['eng']){
            mysql_query("UPDATE `words` SET `right`='yes' WHERE `id`='$word'");
        }
        else{
            mysql_query("UPDATE `words` SET `right`='no' WHERE `id`='$word'");
        }

我没有收到任何错误,但是当我检查我的数据库时,即使输入了正确的单词,它也表示正确=否。如果我使用$ inputname =“string”将$ inputname更改为字符串;它有效...那么为什么转换不起作用?

我试过(字符串)$ var,$ var =“$ var”,mysql_real_escape_string($ var)但没有成功......

如果您有任何解决方法,请回复。

2 个答案:

答案 0 :(得分:1)

虽然我没有看到变量的内容,但您有一个逻辑问题:第一次打开页面时,会创建一个带有英文输入随机名称的表单。然后你提交表格并生成一个新的随机名称,这些名称可能永远不会匹配。

例如,您发送一个名为$_POST['1234']的变量,然后查找$_POST[$inputname],其中$inputname刚刚随机生成。

给表单变量一个随机名称是一个坏主意,因为在提交表单后接收它并不是那么简单。

除此之外,我认为您的name属性不能以数字开头,但这不是问题的原因。

答案 1 :(得分:0)


正如其他人所说,问题似乎不是整数转换,而是逻辑问题。

也许“穷人的调试会话”可能会对错误有所了解:为了更好地了解您的脚本正在做什么,更改mysql_query行以简单地将查询回显给浏览器(即{ {1}}字echo "UPDATESET id ='yes' WHERE

然后,您将能够看到正在进行的SQL语句(很可能不是您认为的那样),并且应该可以帮助您更清楚地看到错误。