【问题标题】:Parsing string "1" returning 0 in php on wordpress在wordpress上的php中解析字符串“1”返回0
【发布时间】:2018-04-27 06:08:09
【问题描述】:

对于我的一生,我无法弄清楚为什么会发生这种情况。我尝试过类型转换,我尝试过使用内置解析函数(intval),我尝试过使用字符串替换方法,但无论我做什么,我的 $AccountNum returns "1" 在“解析”之后变成了 0。

我在 WordPress 上的自定义编程方面没有太多经验,希望这里有人知道问题出在哪里。下面是我要实现的 WordPress 页面,下面是我添加到的 functions.php 部分,正在实现中,最后一点是我的输出。

请帮忙!

[vc_row][vc_column][vc_column_text][insert_php]

if ($_POST['submit']) {

saveAccountNum($_POST['email'], $_POST['password']);

echo $AccountNum;

get_all_user_info((int)$AccountNum);


}

[/insert_php][/vc_column_text][/vc_column][/vc_row]

第 2 部分(functions.php 脚本)

function get_all_user_info($AccountNumber){

    global $AccountNum;

    $dbhost = "localhost";
    $dbuser = "#######";
    $dbpass = "#######";
    $db = "#######";
    $conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error);


    echo $AccountNumber;
    $userData = "CALL get_all_user_info("+$AccountNumber+")";
    $sql = mysqli_query($conn, $userData);

    global $First_Name;

        if(!$sql){
          die("Didn't work, here's why: " . mysql_error());
        }
        else{
         $object = $sql->fetch_object();
         $First_Name = $object->First_Name;
         echo "All variables made: " .$First_Name;
        }
$conn->close();
 }

第 3 部分(输出)

Changed variable name: ‘1”1’0All variables made:

如您所见,它没有给我任何错误,但是当我尝试从字符串解析为 int 时会出现错误。无论我尝试类型转换还是调用函数都会发生这种情况,老实说,我不知道为什么。任何帮助将不胜感激。

【问题讨论】:

  • 这里不是 PHP 专家,但为什么要在函数中声明全局变量——更何况,在父作用域中使用了同名变量之后?
  • 我从 wordpress 的 header.php 文件中引用它。我可以尝试在一页内完成所有内容,但都是一样的。这是给一个学校项目演示一些数据库设计的,我只是发现这样看起来更干净。

标签: php wordpress


【解决方案1】:

试试这个参考链接

http://php.net/manual/en/function.intval.php

https://stackoverflow.com/questions/7008214/php-string-to-int

https://stackoverflow.com/questions/8529656/how-do-i-convert-a-string-to-a-number-in-php


 $myVar = "13";
 var_dump($myVar); // string '13' (length=2)
 $myVar= intval($myVar);
 var_dump($myVar); // int 13

  $myVar = "13";
  var_dump($myVar); // string '13' (length=2)
  $myVar= (int)$myVar;
  var_dump($myVar); // int 13

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-09
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    相关资源
    最近更新 更多