【发布时间】: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 文件中引用它。我可以尝试在一页内完成所有内容,但都是一样的。这是给一个学校项目演示一些数据库设计的,我只是发现这样看起来更干净。