【问题标题】:Converting an integer to a string doesn't work将整数转换为字符串不起作用
【发布时间】:2012-01-14 03:16:52
【问题描述】:

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

那么什么不起作用:

$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'");
        }

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

我尝试过 (string)$var, $var = "$var", mysql_real_escape_string($var) 但没有成功...

如果您对如何解决此问题有任何想法,请回复。

【问题讨论】:

  • var_dump($row)var_dump($_POST)的结果是什么?

标签: php html string integer


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    也许“穷人的调试会话”可能会对错误有所了解:为了更好地了解脚本按原样执行的操作,请将 mysql_query 行更改为简单地将查询回显到浏览器(即 @ 987654321@wordsSETright='yes' WHEREid='$word'";)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-12
      • 2018-05-19
      • 1970-01-01
      • 2017-10-09
      • 2012-02-21
      • 2010-12-31
      相关资源
      最近更新 更多