[英]How i could check if a value exist in any row of a specific column of a specific mysql table
我需要使用腳本檢查數據庫中是否存在值。 該值基於變量,並且該字段是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交易ID:$ pay”; 使其按照商店網站的格式進行格式化。
請幫忙!
編輯:我做了一部分代碼,試圖看看為什么不匹配。 這是通過陣列獲得的結果:Array([0] => [1] => 0JW61238FU6854240 [2] => 5EA00979GC149044V [3] => 59P88560S9783170B [4] => 1L697134B06956638 [5] => 1N476458GR470922M [6] => 3N4412142S083993 [7] => 2GN69713EV7294613 [8] => 9WT48148YE725931K [9] => 585690586Y6998523 [10] => 7X9149767T051513K [11] => 5WJ25963L5455313H [12] => 1L717841BA5989748 [13] => 0E750230DV1575308 [14] ] => 78R85507FR2081540 [16] => 96F7363575285431M [17] => 87V99180GV2251342 [18] => 4G459145SE959020V [19] => 86U00726DL9205244 [20] => 70820350T9653825F [21] => 8K002091YN0079914 [22] => 167 > 93L886231K973983G [24] => 6E98077468505954G [25] => 770172708D596892K [26] => 22N679682U615734D [27] => 3WR4000656945550Y [28] => 59P88560S9783170B [29] => 8H242117S01162917 [30] => 83L9473339 [32] => 1BE09674W4880373N [33] => 3JC01978GH9146509 [34] => 31381161BJ159335S [35] => 17V97629HJ1941344 [36] => 4XG15144CK988864F [37] => 18625833YF123353H [3] 8] => 2GU86013NN2703635)不matco0JW61238FU6854240
我嘗試了這種腳本來了解原因:
// 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;
還是不匹配? WTF?
但是,如果我使用它匹配! WTF? 匹配:59P88560S9783170B
可能有些字節使它變臟了嗎?
我是從前一陣子在這個問題上發現的帖子中保存下來的。
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
然后,您可以使用MYSQL_NUM切換回數字或使用MYSQL_BOTH切換回數字
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.