Привет, ребята, я пытаюсь обновить флажок feild в моей базе данных и должен захватывать и связывать значения с использованием SQL PDO.Array to string conversion PHP показывает ошибку
я получаю сообщение об ошибке, однако о массиве для преобразования строки,
моих флажков выглядеть -
<div class="checkboxFour">
<p class="admin_label" id="checklabel2">In Seaon</p>
<input type="checkbox" name="inSeason[]" value="1" id="checkboxFourInput" checked="checked"<?php if(isset($_GET['inSeason'])){ ?> checked="checked" <?php } ?>/>
<label for="checkboxFourInput"></label>
</div>
<div class="checkboxFour">
<p class= "admin_label"id="checklabel2">Out Season</p>
<input type="checkbox" name="inSeason[]" value="0" id="checkboxFour2Input" <?php if(isset($_GET['inSeason'])){ ?> checked="checked" <?php } ?> />
<label for="checkboxFour2Input"></label>
</div>
В моем PHP я построил следующее -
if (isset($_POST['updateProductSubmit'])) {
// open the database connection
include 'includes/connection.php';
$inSeasonValue = "0";
if(array_key_exists('inSeason', $_GET) && $_GET['inSeason'] == '0'){
$saleItemValue = "0";
echo $saleItemValue['inSeason'];
}
$inSeasonValue = "1";
if(array_key_exists('inSeason', $_GET) && $_GET['inSeason'] == '1'){
$saleItemValue = "1";
echo $saleItemValue['inSeason'];
}
try {
//create our sql update statement
$sql = "UPDATE Products SET productNbr = :productNbr, productName= :productName, inSeason = '$inSeasonValue', description = :description, photo =
:photo WHERE productNbr=:productNbr;";
// prepare the statement
$statement = $pdo->prepare($sql);
// bind the values
$statement->bindValue(':productNbr', $_POST['productNbr']);
$statement->bindValue(':productName', $_POST['productName']);
$statement->bindValue(':inSeason', $_POST['inSeason']);
$statement->bindValue(':description', $_POST['description']);
$statement->bindValue(':photo', $_POST['photo']);
// execute the statement
$success = $statement->execute();
} // end try
catch (PDOException $e) {
echo 'Error updating item: ' . $e->getMessage();
exit();
} // end catch
// test the result and display appropriate message
if ($success) {
echo '<script type="text/javascript"> alert("Successfully updated Item.")</script>';
}
else {
echo '<script type="text/javascript">alert("Unable to execute the Item update.");</script>';
}
//free connection to the server
$statement->closeCursor();
} // end if statement
?>
Ошибка указывает на то, что значение привязки $statement->bindValue(':inSeason', $_POST['inSeason']);
Надеюсь, вы, ребята, можете помочь!
Спасибо, большое спасибо!
:-)
Использование квадратных консольно-имя-суффикс обозначения, то есть 'имя = "inSeason []"' заставляет PHP интерпретировать значение данных POST, как массив, следовательно массив преобразовать строку – Phil