Probleem met INSERT
Deze lukt echter niet geheel. Op één of andere manier wordt de naam niet opgeslagen in de database.
$dirArray[$index] = de filename en moet in de database komen onder movie_name
Nadat ik dat probleem heb opgelost moet ik op één of andere manier gaan controleren of er een gelijkende movie_name wordt ingevoerd. Wat zijn hiervoor de mogelijkheden met PHP?
Allereerst de INSERT die niet helemaal werkt:
<h3>Movies Table Contents:</h3>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?
// open this directory
$myDirectory = opendir("G:/video");
// get each entry
while($entryName = readdir($myDirectory)) {
$dirArray[] = $entryName;
}
// close directory
closedir($myDirectory);
// count elements in array
$indexCount = count($dirArray);
Print ("$indexCount files<br>\n");
// sort 'em
sort($dirArray);
// store 'em
$i = 0;
for($index=0; $index < $indexCount; $index++) {
// verbind met de database
$objMysqli = new mysqli( 'localhost', 'root', '', 'moviemanager' );
// start transactie
$objMysqli->query( "START TRANSACTION" );
// voeg de gebruiker toe
if ( $objMysqli->query( "INSERT INTO movies (movie_name) VALUES (' . $dirArray[$index] . ')" ) )
{
// de query is gelukt, voeg het adres toe
$strQuery = sprintf(
"INSERT INTO movies (movie_name) VALUES (' . $dirArray[$index] . ')",
$objMysqli->insert_id
);
if ( $objMysqli->query( $strQuery ) )
{
// beide queries zijn gelukt, voltooi de transactie
$objMysqli->query( "COMMIT" );
echo 'De film ' . $dirArray[$index] . ' is toegevoegd<br>';
$i++;
}
else
{
// de query is mislukt, beëindig de transactie
$objMysqli->query( "ROLLBACK" );
echo 'De film ' . $dirArray[$index] . ' is NIET toegevoegd<br>';
}
}
else
{
// de query is mislukt, beëindig de transactie
echo 'De film ' . $dirArray[$index] . ' is NIET toegevoegd<br>';
$objMysqli->query( "ROLLBACK" );
}
// sluit de verbinding
$objMysqli->close();
}
print $i;
// print 'em
/*
print("<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>\n");
print("<TR><TH>Filename</TH><th>Categorieën</th><th>Wie heeft deze gezien</th><th>Rating / Gem. Rating</th></TR>\n");
// loop through the array of files and print them all
for($index=0; $index < $indexCount; $index++) {
if (substr("$dirArray[$index]", 0, 1) != "."){ // don't list hidden files
print("<TR><TD><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>");
print("<td>Add</td>");
print("<td>Add</td>");
print("<td>Add</td>");
print("</TR>\n");
}
}
print("</TABLE>\n");
*/
?>
// open this directory
$myDirectory = opendir("G:/video");
// get each entry
while($entryName = readdir($myDirectory)) {
$dirArray[] = $entryName;
}
// close directory
closedir($myDirectory);
// count elements in array
$indexCount = count($dirArray);
Print ("$indexCount files<br>\n");
// sort 'em
sort($dirArray);
// store 'em
$i = 0;
for($index=0; $index < $indexCount; $index++) {
// verbind met de database
$objMysqli = new mysqli( 'localhost', 'root', '', 'moviemanager' );
// start transactie
$objMysqli->query( "START TRANSACTION" );
// voeg de gebruiker toe
if ( $objMysqli->query( "INSERT INTO movies (movie_name) VALUES (' . $dirArray[$index] . ')" ) )
{
// de query is gelukt, voeg het adres toe
$strQuery = sprintf(
"INSERT INTO movies (movie_name) VALUES (' . $dirArray[$index] . ')",
$objMysqli->insert_id
);
if ( $objMysqli->query( $strQuery ) )
{
// beide queries zijn gelukt, voltooi de transactie
$objMysqli->query( "COMMIT" );
echo 'De film ' . $dirArray[$index] . ' is toegevoegd<br>';
$i++;
}
else
{
// de query is mislukt, beëindig de transactie
$objMysqli->query( "ROLLBACK" );
echo 'De film ' . $dirArray[$index] . ' is NIET toegevoegd<br>';
}
}
else
{
// de query is mislukt, beëindig de transactie
echo 'De film ' . $dirArray[$index] . ' is NIET toegevoegd<br>';
$objMysqli->query( "ROLLBACK" );
}
// sluit de verbinding
$objMysqli->close();
}
print $i;
// print 'em
/*
print("<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>\n");
print("<TR><TH>Filename</TH><th>Categorieën</th><th>Wie heeft deze gezien</th><th>Rating / Gem. Rating</th></TR>\n");
// loop through the array of files and print them all
for($index=0; $index < $indexCount; $index++) {
if (substr("$dirArray[$index]", 0, 1) != "."){ // don't list hidden files
print("<TR><TD><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>");
print("<td>Add</td>");
print("<td>Add</td>");
print("<td>Add</td>");
print("</TR>\n");
}
}
print("</TABLE>\n");
*/
?>
Verder heb je op regel 31 en 35 dezelfde query staan, maar met andere commentaar. Er worden nu dus twee rijen toegevoegd die gezien het commentaar een andere waarde hebben, maar gezien de code dezelfde waarde hebben. (hoop dat je me nog volgen kan) Ik ken jouw database structuur niet, maar het lijkt me niet logisch.