2016-01-12 2 views
1

Я хотел обновить базу данных внутри phpmyAdmin, однако, ошибка всплывает, и я пробовал много решений, но все равно это не работает. Код:Как обновить базу данных в phpmyAdmin с помощью matlab?

conn=database('iprintstatuses', 'root', '', 'com.mysql.jdbc.Driver',  'jdbc:mysql://localhost/'); 
setdbprefs('DataReturnFormat','cellarray'); 
paper_loader_on_status = fetch(conn,'SELECT paper_loader FROM statuses'); 
paper_loader = paper_loader_on_status {1}; 
newz= {'1'}; 
whereclause = 'where paper_loader = 1'; 
if (paper_loader == 1) 
    pause(1); 
    update(conn, 'statuses', 'new_paper_loader', newz, whereclause); 
end 

ошибка:

Содержимое ячейки ссылки из объекта массива не-клеток.

Ошибка в базе данных/обновление (строка 125)

updateFields = [updateFields fieldNames{j}]; %#ok 

Ошибка в SQLaccessing (строка 10)

update(conn, 'statuses', 'new_paper_loader', newz, whereclause); 

Как решить эту ошибку?

This is the image of the table. It is really a simple table :(*It is an integer*

+0

вместо 'newz' и' whereclause' в вашем вызове функции обновления, можете ли вы попробовать ввести '' 1'' и ''где paper_loader = 1'' и сообщить нам, какую ошибку вы получите? Кажется, что newz, поскольку вы определяете его, является массивом ячеек, но whereclause - это просто String. Поэтому мне интересно, не нравится ли какая-то часть вашей функции обновления формата. – GameOfThrows

+0

Он сказал, что входные данные должны быть массивом ячеек, матрицей, структурой, набором данных или таблицей – JustOnce

+0

Вы написали эту функцию «update»? Похоже, ваш ввод задыхается от чего-то, чего мы не могли видеть. – GameOfThrows

ответ

0

Поскольку new_paper_loader представляет собой целое число ... данные должны быть целыми числами: D

conn=database('iprintstatuses', 'root', '', 'com.mysql.jdbc.Driver',  'jdbc:mysql://localhost:3306/'); 
setdbprefs('DataReturnFormat','cellarray'); 
paper_loader_on_status = fetch(conn,'SELECT paper_loader FROM statuses'); 
paper_loader = paper_loader_on_status {1}; 
whereclause = 'where paper_loader = 1'; 
if (paper_loader == 1) 
    pause(1); 
    update(conn, 'statuses', {'new_paper_loader'}, {1}, 'where paper_loader = 1'); 
end 

Благодаря GameOfThrows для выясняя очень простую ошибку: D

+0

Было не так просто понять это ... lol – GameOfThrows

+0

hahahaha, но по крайней мере вы помогли мне разобраться в этом пошаговым процессом: D – JustOnce

Смежные вопросы