PHP MySQL не выполняет обновление с использованием подстроки

0

Я столкнулся с проблемой с 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));
?>
  • 0
    Что находится в поле БД Prepa ? Какой тип поля Year ?
  • 0
    Поле Prepa - это varchar (10), а Year определяется как YEAR.
Показать ещё 9 комментариев
Теги:
sql-update
substring

1 ответ

0
Лучший ответ

Мне наконец удалось решить. Я не знаю, правильно ли это сделать. Мне нужно открыть новое соединение с базой данных для выполнения.

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);
?>

Таким образом, он выполнил запрос на обновление.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню