0

如果数据库中存在值,我需要使用脚本检查。该值基于一个变量,并且该字段是 LONGTEXT。

// ...:::BEGIN REGISTRATION:::...

//Add key format for hikashop
$pay = "PayPal transaction id: $pay";

$link = mysql_connect($host, $user, $pass);
mysql_select_db($dbo);
if (!$link)
  {
  die('Could not connect');
  }

// check if Transaction ID is available on the default website.
$query = mysql_query ("SELECT * FROM jh23m_hikashop_history WHERE history_data = '$pay'");
$result = mysql_num_rows($query);
echo $result;

// Verifica che esiste almeno una riga contente la transazione. 
// Se si procedi con la response e salva nel db, altrimenti rispondi che la key non è stata trovata.
if ($result == 0){
    die ('Your transaction has not been found. Please enter your payment transaction correctly or contact the support');
}

奇怪的是,找到了一些价值,但很多没有!$pay 来自 $_POST 并且我添加了 $pay = "PayPal transaction id: $pay"; 使其格式化为商店网站制作。

请帮忙!

编辑:我做了一部分代码,试图看看为什么这不匹配。这是通过数组的结果:数组([0] => [1] => 0JW61238FU6854240 [2] => 5EA00979GC149044V [3] => 59p88560S9783170B [4] [7] => 2GN69713EV7294613 [8] => 9WT48148YE725931K [9] => 585690586Y6998523 [10] => 7X9149767T051513K [11] => 5WJ25963L5455313H [12] => 1L717841BA5989748 [13] => 0E750230DV1575308 [14] => 85B43558SH819711N [15 ] => 78R85507FR2081540 [16] => 96F7363575285431M [17] => 87V99180GV2251342 [18] => 4G459145SE959020V [19] => 86U00726DL9205244 [20] => 70820350T9653825F [21] => 8K002091YN0079914 [22] => 8SD993824R7167708 [23] = > 93L886231K973983G [24] => 6E98077468505954G [25] => 770172708D596892K [26] =>

我尝试了这种脚本来看看为什么:

// check if Transaction ID is available on the default website.
$query = mysql_query ("SELECT * FROM jh23m_hikashop_history");
$result = mysql_num_rows($query);
while(($row = mysql_fetch_array($query))) {
    $paypal_ids[] =$row['history_data'];
}
//print_r ($paypal_ids);
// ora cerca il valore %pay
$paypal_ids_split = implode("", $paypal_ids);
//print_r ($paypal_ids_split);
$paypal_ids_clean = explode ("PayPal transaction id: ", $paypal_ids_split);
print_r ($paypal_ids_clean);

if (in_array($pay, $paypal_ids_clean)){
    echo "Match";
} else 
{ echo "Does not matco";
}
echo $pay;

还是不匹配?怎么回事?

但如果我使用它,它匹配!怎么回事?匹配:59P88560S9783170B

是否有可能某些字节使其变脏?

4

1 回答 1

0

我从不久前在此问题上发现的帖子中保存了此内容。

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))

然后您可以使用 MYSQL_NUM 切换回数字,或者使用 MYSQL_BOTH 切换回数字

于 2013-08-29T21:14:34.113 回答