mysql 数组比较大小_比较数组mysql php中的值

您好我试图比较2个数组的值与这个查询,这是我知道的唯一方法:

$session = "1,2,3,"

$table_name = "table1";

$column_name = "data1"; // value for test is 1,4,5,

$sql = "";

$sql .= "SELECT * FROM $table_name WHERE ";

$franquia = array();

$franquia = explode(",", $session);

if (!empty($franquia)) {

$final_id = array();

foreach ($franquia as $val) {

if (trim($val) != '') {

$final_id[] = $val;

}

}

$count_data = count($final_id);

foreach ($final_id as $key => $id) {

if ($id > 0) {

$sql .= " $id IN ($column_name) ";

if ($key < $count_data - 1) {

$sql .= "OR ";

}

}

}

}

echo $sql;我在$session上设置了1,2,3,在$data1上设置了1,4,5,因此$session和$data1之间的比较因两个值都为1而返回true,但我没有得到任何结果。

实际上它只在两个数组相同时才起作用,如$session = 1,2,3和$data1 = 1,2,3

我究竟做错了什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你的 PHP 数组对象存储到 MySQL 数据库为 NULL,可能有以下几个原因: 1. 数据库字段类型错误:请确保你的数据库表的字段类型与你要存储的数据类型匹配。例如,如果你要存储一个 PHP 数组,则应该将数据库表的字段类型设置为 `TEXT` 或 `JSON`,而不是 `INT` 或 `VARCHAR`。 2. 数据库插入语句错误:请确保你的插入语句正确。例如,你应该使用 `json_encode()` 函数将 PHP 数组对象转换为 JSON 格式的字符串,并将其存储在数据库。示例代码如下: ```php $data = array('name' => 'Alice', 'age' => 20); $json = json_encode($data); $sql = "INSERT INTO my_table (json_data) VALUES ('$json')"; mysqli_query($conn, $sql); ``` 3. PHP 数组对象为空:如果你的 PHP 数组对象为空,它在转换为 JSON 字符串后可能会变成 `null`。在这种情况下,你可以检查你的 PHP 代码是否正确地设置了数组对象。例如,如果你的数组对象是从前端传递过来的,请确保前端传递的数据格式正确。 4. 数据库连接问题:请确保你的数据库连接正常。你可以使用 `mysqli_error()` 函数检查是否有任何错误。例如: ```php $conn = mysqli_connect("localhost", "my_user", "my_password", "my_db"); if (!$conn) { die("连接数据库失败:" . mysqli_connect_error()); } // 执行插入语句 $sql = "INSERT INTO my_table (json_data) VALUES ('$json')"; if (mysqli_query($conn, $sql)) { echo "数据插入成功"; } else { echo "数据插入失败:" . mysqli_error($conn); } ``` 上述代码将会连接到 MySQL 数据库并插入 JSON 数据。如果有任何错误,它将输出错误消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值