Я столкнулся с проблемой с PHP, которая не выполняет один запрос в моем скрипте. SQL-запрос хорошо работает на моей консоли MYSQL, но ничего не происходит. Годовая колонка остается NULL:
$UpdateYear='UPDATE 'pat' SET 'Year' = SUBSTRING('Prepa',7,4)';
mysqli_query($connWarehouse,$UpdateYear) or die(mysqli_error($connWarehouse));
Я не знаю, что я делаю неправильно. Здесь полный сценарий:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$db="datawarehouse";
// Create connection
$connWarehouse = new mysqli($servername, $username, $password, $db);
// Check connection
if ($connWarehouse->connect_error) {
die("Connection failed: " . $connWarehouse->connect_error);
}
$UpdateYear='UPDATE 'pat' SET 'Year' = SUBSTRING('Prepa',7,4)';
mysqli_query($connWarehouse,$UpdateYear) or die(mysqli_error($connWarehouse));
mysqli_close($connWarehouse));
?>
Мне наконец удалось решить. Я не знаю, правильно ли это сделать. Мне нужно открыть новое соединение с базой данных для выполнения.
alter.php:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$db="datawarehouse";
// Create connection
$connWarehouse = new mysqli($servername, $username, $password, $db);
// Check connection
if ($connWarehouse->connect_error) {
die("Connection failed: " . $connWarehouse->connect_error);
}
$AddYear='ALTER TABLE 'pat' ADD COLUMN 'Year' YEAR;';
mysqli_query($connWarehouse,$AddYear) or die(mysqli_error($connWarehouse));
mysqli_close($connWarehouse));
include 'uppat.php';
?>
uppat.php
<?php
require_once 'config-datawarehouse.php';
$UpdateYear='UPDATE 'pat' SET 'Year' = SUBSTRING('DatePrepa',7,4)';
mysqli_query($conn,$UpdateYear) or die(mysqli_error($conn));
mysqli_close($conn);
?>
Таким образом, он выполнил запрос на обновление.
Prepa
? Какой тип поляYear
?