Medoo — Обновление строки таблицы, соответствующей нескольким полям

Я использую Medoo. Приведенное ниже обновление отлично работает при совпадении с одним полем. Я хочу обновить данные, если они совпадают с clientId и businessCity.

$database->update("clientInfo", array(
"businessName" => $_POST['businessName'],
"contactName" => $_POST['contactName'],
"businessEmail" => $_POST['businessEmail'],
"businessPhone" => $_POST['businessPhone'],
"businessWebsite" => $_POST['businessWebsite'],
"businessAddress" => $_POST['businessAddress'],
"businessAddress2" => $_POST['businessAddress2'],
"businessCity" => $_POST['businessCity'],
"businessState" => $_POST['businessState'],
"businessZip" => $_POST['businessZip']
), array(
"clientId" => $_POST['clientId'],
"businessCity" => $_POST['businessCity'],
));

Я пытался так. но не работает для меня.

0

Решение

echo $database->last_query();

используйте эту функцию, чтобы проверить SQL-запрос, выполненный для отладки.

1

Другие решения

Читайте о Условии Относительности из документации Medoo: http://medoo.in/api/where

Просто добавь AND разъем для каждого значения.

$database->update("clientInfo", array(
"businessName" => $_POST['businessName'],
"contactName" => $_POST['contactName'],
"businessEmail" => $_POST['businessEmail'],
"businessPhone" => $_POST['businessPhone'],
"businessWebsite" => $_POST['businessWebsite'],
"businessAddress" => $_POST['businessAddress'],
"businessAddress2" => $_POST['businessAddress2'],
"businessCity" => $_POST['businessCity'],
"businessState" => $_POST['businessState'],
"businessZip" => $_POST['businessZip']
), array(
'AND' => array(
"clientId" => $_POST['clientId'],
"businessCity" => $_POST['businessCity'],
)
));
1

Пример:

$datas = $db->update( "meta" , ["metalabel"=>$label[0][0]], ["AND"=>["metakey"=>"Collection", "metavalue"=>$_POST["metavalue"]] ]  );

Вы должны установить массив с логическим оператором (И или ИЛИ) и в качестве первого значения этого вы должны установить другой массив … см. мой пример выше

0
По вопросам рекламы [email protected]