从 php 函数获取返回值
get returned value from php function
我的 ajax-call 发布了数据 loadingaid1
以及其他一些数据。然后在我的 php 文件中请求该值并将其分配给 $loadingaid1
。到目前为止,一切都很好。
我知道要做的是调用函数 getProductId
,它从我的数据库中选择相应的 ID,并用该 ID 覆盖变量 $loadingaid1
。
我试过的代码如下:
(...)
$loadingaid1 = $_REQUEST['loadingaid1'];
$loadingaid1 = getProductId($loadingaid1);
(...)
function getProductId($product) {
$stmt = $conn->prepare('SELECT idproducts FROM products WHERE title = :product LIMIT 1');
if ($stmt->execute(array(':product' => $product))) {
$row = $stmt->fetch(PDO::FETCH_ASSOC);
return $row['idproducts'];
};
}
但是不知何故,一旦我将函数引入游戏,代码总是失败。我做错了什么?
准备好的语句是正确的 - 已经将它与我的专栏和 table 基本上做同样事情的名称和工作语句进行了多次比较。而保存在loadingaid1中的请求值也存在于table.
中
$conn 未定义!!!!!!!!在你的函数范围内,$conn 是未定义的!!!如果需要,将其设为全局:
在您的 connection.php
中将其声明为全局
global $conn = ......
在你的函数中
function getProductId($product) {
global $conn;
$stmt = $conn->prepare('SELECT idproducts FROM products WHERE title = :product LIMIT 1');
if ($stmt->execute(array(':product' => $product))) {
$row = $stmt->fetch(PDO::FETCH_ASSOC);
return $row['idproducts'];
};
}
这是简单的方法,但也许您不想使用全局。这是另一种方法:使用 returns 您的 $conn 对象的方法定义 class 。我让你自己做。您的 getProductId() 函数将是:
function getProductId($product) {
$stmt = Db::getInstance()->prepare('SELECT idproducts FROM products WHERE title = :product LIMIT 1');
if ($stmt->execute(array(':product' => $product))) {
$row = $stmt->fetch(PDO::FETCH_ASSOC);
return $row['idproducts'];
};
}
我的 ajax-call 发布了数据 loadingaid1
以及其他一些数据。然后在我的 php 文件中请求该值并将其分配给 $loadingaid1
。到目前为止,一切都很好。
我知道要做的是调用函数 getProductId
,它从我的数据库中选择相应的 ID,并用该 ID 覆盖变量 $loadingaid1
。
我试过的代码如下:
(...)
$loadingaid1 = $_REQUEST['loadingaid1'];
$loadingaid1 = getProductId($loadingaid1);
(...)
function getProductId($product) {
$stmt = $conn->prepare('SELECT idproducts FROM products WHERE title = :product LIMIT 1');
if ($stmt->execute(array(':product' => $product))) {
$row = $stmt->fetch(PDO::FETCH_ASSOC);
return $row['idproducts'];
};
}
但是不知何故,一旦我将函数引入游戏,代码总是失败。我做错了什么?
准备好的语句是正确的 - 已经将它与我的专栏和 table 基本上做同样事情的名称和工作语句进行了多次比较。而保存在loadingaid1中的请求值也存在于table.
中$conn 未定义!!!!!!!!在你的函数范围内,$conn 是未定义的!!!如果需要,将其设为全局:
在您的 connection.php
中将其声明为全局global $conn = ......
在你的函数中
function getProductId($product) {
global $conn;
$stmt = $conn->prepare('SELECT idproducts FROM products WHERE title = :product LIMIT 1');
if ($stmt->execute(array(':product' => $product))) {
$row = $stmt->fetch(PDO::FETCH_ASSOC);
return $row['idproducts'];
};
}
这是简单的方法,但也许您不想使用全局。这是另一种方法:使用 returns 您的 $conn 对象的方法定义 class 。我让你自己做。您的 getProductId() 函数将是:
function getProductId($product) {
$stmt = Db::getInstance()->prepare('SELECT idproducts FROM products WHERE title = :product LIMIT 1');
if ($stmt->execute(array(':product' => $product))) {
$row = $stmt->fetch(PDO::FETCH_ASSOC);
return $row['idproducts'];
};
}