gpt4 book ai didi

php - 使用 PHP 查询从 Sagepay 的 SQL 数据库返回值

转载 作者:行者123 更新时间:2023-11-29 22:16:56 25 4
gpt4 key购买 nike

我正在开发的网站正在向 Sagepay 发送不正确的帐单国家/地区信息(此字段现在在 3.00 更新中是强制性的),我正在尝试找到一种方法来在 PHP 文件中传递正确的信息。

发送此信息的当前行是:

$crypt .= "&BillingCountry=".$orderArray["country"];

问题在于 orderArray 中的“国家/地区”字段提供了我们 CMS 中设置的国家/地区名称,而不是 Sagepay 所需的 ISO 代码。

正确的 ISO 代码保存在 SQL 数据库中,因此信息可用。数据库表保存唯一的 ID、名称、ISO 代码、ISO 编号以及一些其他站点相关信息。

我需要用这个替换上面的地穴:

$crypt .="&BillingCountry=".$countryISO;

其中 $countryISO 作为查询添加到代码中。此查询应查看“国家/地区”数据库表的 ISO 代码列 (isocode),并返回与 orderArray 中的“国家/地区”名称相对应的 ISO 代码值。

我尝试按照该网站其他文件中使用的 php 自行整理一些内容,这些文件似乎实现了类似的效果。例如:

$countryISO = $dbA->query("SELECT isocode FROM $tableCountries WHERE name=".$orderArray["country"]);

我也尝试过:

$countryISO = $dbA->retrieveAllRecordsFromQuery("SELECT isocode FROM $tableCountries WHERE name=".$orderArray["country"]);

站点服务器上包含一个 php 文件,该文件具有“query”和“retrieveAllRecordsFromQuery”函数等(例如 count、fetch、retrieveAllRecords),还包含与 $dbA 相关的函数,我相信该函数连接到数据库。

我需要一些关于如何从 SQL 数据库提取 ISO 代码的建议。我的代码是否接近我的需要?

最佳答案

首先,在sql语句中,当要过滤字符串字段时,应该将字段值用单引号: '双引号: ".

二、代码:

 $countryISO = $dbA->query("SELECT isocode FROM $tableCountries WHERE name=".$orderArray["country"]);

不会将iso代码保存在$countryISO中。为此,您必须在 mysqli 中使用 fetch_row:

 $result=$mysqli->query("SELECT isocode FROM $tableCountries WHERE name='".$orderArray["country"]."'");
$row=$result->fetch_row();
$countryISO =$row[0];

现在您可以将之前的代码更改为:

 $crypt .= " BillingCountry='".$countryISO."'";

附注正如您没有提到的,我假设 $dbA 是一个 mysqli 对象。如果不是,对于 PDO 对象有一个类似的过程,只需进行一些小的更改。

创建上面使用的 $mysqli 对象:

 $mysqli=new mysqli($host, $user, $pass, $db);

关于php - 使用 PHP 查询从 Sagepay 的 SQL 数据库返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31139179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com